Hướng dẫn multiply arrays javascript - nhân mảng javascript

Tôi không thể tìm thấy một ví dụ ở đây những gì tôi thực sự đang tìm kiếm. Tôi muốn nhân tất cả các phần tử mảng, vì vậy nếu một mảng chứa [1,2,3] tổng số sẽ là 1*2*3 = 6; Cho đến nay tôi đã có mã này, nhưng nó trả về không xác định.

function multiply (array) {
    var sum=1;
    for (var i=0; i<array.length; i++) {
        sum = sum * array[i];
    } 
    return sum;
}
console.log(multiply[1,2,3]);

Bất cứ ai có thể vui lòng giải thích, tôi đang thiếu gì ở đây? Cảm ơn trước!

FDMS

1134 Huy hiệu bạc5 Huy hiệu Đồng4 silver badges5 bronze badges4 silver badges5 bronze badges

Hỏi ngày 4 tháng 10 năm 2013 lúc 6:51Oct 4, 2013 at 6:51Oct 4, 2013 at 6:51

1

Nguyên nhân đã được biết đến. Đây là một giải pháp thay thế - sử dụng

console.log( [1, 2, 3].reduce( (a, b) => a * b ) );
console.log( Array.from( {length: 20} )
  .map( (v, i) => i + 1 )
  .reduce( (a,b) => a * b )
  .toLocaleString());

// for empty arrays, use some initial value
const arr = [];
if (arr.reduce( (a, b) => a * b, -1 ) === -1) {
  console.error(`The given array ${arr} is empty`);
}
1 cho phương pháp của bạn:
console.log( [1, 2, 3].reduce( (a, b) => a * b ) );
console.log( Array.from( {length: 20} )
  .map( (v, i) => i + 1 )
  .reduce( (a,b) => a * b )
  .toLocaleString());

// for empty arrays, use some initial value
const arr = [];
if (arr.reduce( (a, b) => a * b, -1 ) === -1) {
  console.error(`The given array ${arr} is empty`);
}

Xem thêm

Đã trả lời ngày 4 tháng 10 năm 2013 lúc 6:56Oct 4, 2013 at 6:56Oct 4, 2013 at 6:56

KooiinckooiincKooiIncKooiInc

Huy hiệu vàng 115K3131 gold badges141 silver badges176 bronze badges31 gold badges141 silver badges176 bronze badges

8

Bạn cần phải có

console.log( [1, 2, 3].reduce( (a, b) => a * b ) );
console.log( Array.from( {length: 20} )
  .map( (v, i) => i + 1 )
  .reduce( (a,b) => a * b )
  .toLocaleString());

// for empty arrays, use some initial value
const arr = [];
if (arr.reduce( (a, b) => a * b, -1 ) === -1) {
  console.error(`The given array ${arr} is empty`);
}
2 khi bạn gọi chức năng.

Như

console.log( [1, 2, 3].reduce( (a, b) => a * b ) );
console.log( Array.from( {length: 20} )
  .map( (v, i) => i + 1 )
  .reduce( (a,b) => a * b )
  .toLocaleString());

// for empty arrays, use some initial value
const arr = [];
if (arr.reduce( (a, b) => a * b, -1 ) === -1) {
  console.error(`The given array ${arr} is empty`);
}
3

Bản demo ở đâyherehere

Đã trả lời ngày 4 tháng 10 năm 2013 lúc 6:53Oct 4, 2013 at 6:53Oct 4, 2013 at 6:53

SergiosergioSergioSergio

28.2K10 Huy hiệu vàng83 Huy hiệu bạc131 Huy hiệu Đồng10 gold badges83 silver badges131 bronze badges10 gold badges83 silver badges131 bronze badges

1

Bạn không gọi nhân là một hàm:

multiply([1,2,3]);

Đã trả lời ngày 4 tháng 10 năm 2013 lúc 6:54Oct 4, 2013 at 6:54Oct 4, 2013 at 6:54

DenisdenisDenisDenis

4.7811 Huy hiệu vàng17 Huy hiệu bạc21 Huy hiệu đồng1 gold badge17 silver badges21 bronze badges1 gold badge17 silver badges21 bronze badges

Phương thức giảm () thực thi hàm được cung cấp cho từng giá trị của mảng và giảm mảng thành một giá trị duy nhất

    const arr = [1,2,3];
    const sum = arr.reduce((prevValue,curValue) => {
        return prevValue * curValue
    },1);
    console.log(sum);

prevalue là giá trị ban đầu và nó bằng 1 trong ví dụ này is the initial value and it's equal 1 in this example is the initial value and it's equal 1 in this example

curvalue là giá trị của phần tử hiện tại trong mảng is the value of the current element in array is the value of the current element in array

Đã trả lời ngày 3 tháng 11 năm 2020 lúc 15:21Nov 3, 2020 at 15:21Nov 3, 2020 at 15:21

Nếu bạn muốn nhân một số số liên tiếp như 1,2,3 sau đó, thì hãy áp dụng mã này và nhập số vào bảng điều khiển (ARR)

let array = [];

function factorisation(arr) {
    for (let j = arr; j > 0; j--) {
        array.push(j);
    }
    return multiply();
}

function multiply() {
    var sum = 1;
    for (var i = 0; i < array.length; i++) {
        sum = sum * array[i];
    }
    return sum;
}

console.log(factorisation(5));
//5*4*3*2*1 = 120

Đã trả lời ngày 5 tháng 5 năm 2019 lúc 14:46May 5, 2019 at 14:46May 5, 2019 at 14:46

Sử dụng lodash> = 4.7:

_.reduce(array, _.multiply)

Hoặc, sử dụng cả ba đối số:

_.reduce(array, _.multiply, 1)

Đã trả lời ngày 1 tháng 10 năm 2020 lúc 15:18Oct 1, 2020 at 15:18Oct 1, 2020 at 15:18

Nếu bạn muốn sử dụng đệ quy

console.log( [1, 2, 3].reduce( (a, b) => a * b ) );
console.log( Array.from( {length: 20} )
  .map( (v, i) => i + 1 )
  .reduce( (a,b) => a * b )
  .toLocaleString());

// for empty arrays, use some initial value
const arr = [];
if (arr.reduce( (a, b) => a * b, -1 ) === -1) {
  console.error(`The given array ${arr} is empty`);
}
0

Chàng

Huy hiệu vàng 11.8K1515 gold badges75 silver badges114 bronze badges15 gold badges75 silver badges114 bronze badges

Đã trả lời ngày 11 tháng 6 lúc 13:14Jun 11 at 13:14Jun 11 at 13:14

dota2prodota2prodota2prodota2pro

6.7327 Huy hiệu vàng37 Huy hiệu bạc70 Huy hiệu Đồng7 gold badges37 silver badges70 bronze badges7 gold badges37 silver badges70 bronze badges

Đây là cách đơn giản nhất để thực hiện bất kỳ hoạt động số học nào trên mảng

console.log( [1, 2, 3].reduce( (a, b) => a * b ) );
console.log( Array.from( {length: 20} )
  .map( (v, i) => i + 1 )
  .reduce( (a,b) => a * b )
  .toLocaleString());

// for empty arrays, use some initial value
const arr = [];
if (arr.reduce( (a, b) => a * b, -1 ) === -1) {
  console.error(`The given array ${arr} is empty`);
}
1

Đã trả lời ngày 18 tháng 10 lúc 1:15Oct 18 at 1:15Oct 18 at 1:15

Điều này có thể được đơn giản hóa bằng cách sử dụng đệ quy ...

console.log( [1, 2, 3].reduce( (a, b) => a * b ) );
console.log( Array.from( {length: 20} )
  .map( (v, i) => i + 1 )
  .reduce( (a,b) => a * b )
  .toLocaleString());

// for empty arrays, use some initial value
const arr = [];
if (arr.reduce( (a, b) => a * b, -1 ) === -1) {
  console.error(`The given array ${arr} is empty`);
}
2

Đã trả lời ngày 15 tháng 5 lúc 4:21May 15 at 4:21May 15 at 4:21

PeterpeterPeterPeter

5.17116 Huy hiệu vàng60 Huy hiệu bạc98 Huy hiệu Đồng16 gold badges60 silver badges98 bronze badges16 gold badges60 silver badges98 bronze badges

Dưới đây là một ví dụ về nhân tất cả các phần tử mảng:

console.log( [1, 2, 3].reduce( (a, b) => a * b ) );
console.log( Array.from( {length: 20} )
  .map( (v, i) => i + 1 )
  .reduce( (a,b) => a * b )
  .toLocaleString());

// for empty arrays, use some initial value
const arr = [];
if (arr.reduce( (a, b) => a * b, -1 ) === -1) {
  console.error(`The given array ${arr} is empty`);
}
0

Đã trả lời ngày 6 tháng 9 lúc 9:45Sep 6 at 9:45Sep 6 at 9:45

1

Làm thế nào để nhân tất cả các giá trị của một mảng javascript?

hàm nhân (mảng) {var sum = 1;for (var i = 0; ilength; i++) { sum = sum * array[i]; } return sum; } console.log(multiply[1,2,3]); length; i++) { sum = sum * array[i]; } return sum; } console. log(multiply[1,2,3]);

Làm thế nào để bạn nhân tất cả các yếu tố trong một mảng?

Để tìm sản phẩm của các yếu tố của một mảng ....

Tạo một biến trống.( sản phẩm).

Khởi tạo nó với 1 ..

Trong một vòng lặp đi qua từng phần tử (hoặc lấy mỗi phần tử từ người dùng) nhân mỗi phần tử với sản phẩm ..

In sản phẩm ..

Làm thế nào để bạn nhân các phần tử thành hai mảng?

C = a.* B nhân các mảng a và b bằng cách nhân các phần tử tương ứng.Kích thước của A và B phải giống nhau hoặc tương thích.Nếu kích thước của A và B tương thích, thì hai mảng ngầm mở rộng để khớp với nhau.* B multiplies arrays A and B by multiplying corresponding elements. The sizes of A and B must be the same or be compatible. If the sizes of A and B are compatible, then the two arrays implicitly expand to match each other. * B multiplies arrays A and B by multiplying corresponding elements. The sizes of A and B must be the same or be compatible. If the sizes of A and B are compatible, then the two arrays implicitly expand to match each other.