用js将数组[1,2,3] 变成数组 [1,3,6]
时间: 2023-12-29 22:06:21 浏览: 14
可以使用 reduce 方法来实现,具体实现如下:
```javascript
const arr = [1, 2, 3];
const result = arr.reduce((acc, cur) => {
if (acc.length > 0) {
cur += acc[acc.length - 1];
}
acc.push(cur);
return acc;
}, []);
console.log(result); // [1, 3, 6]
```
在 reduce 方法中,我们首先定义了一个空数组作为累加器(即 acc)。然后在每一次迭代中,我们将当前元素(即 cur)与累加器数组中的最后一个元素相加,得到一个新的元素,并将其推入累加器数组中。最后返回累加器数组即可。
相关问题
用js把数组 [1,2,3,4,5,6,7,8,9,10] 变成4个一组的二维数组
好的,让我来回答你的问题。以下是使用 JavaScript 将数组 [1,2,3,4,5,6,7,8,9,10] 变成4个一组的二维数组的代码:
```js
const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
const chunkSize = 4;
const result = [];
for (let i = 0; i < arr.length; i += chunkSize) {
result.push(arr.slice(i, i + chunkSize));
}
console.log(result);
// Output: [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10]]
```
这段代码将原始数组 `arr` 按照指定的大小 `chunkSize` 进行分块,并将分块后的数组添加到另一个数组 `result` 中。最后,将 `result` 数组作为二维数组输出到控制台。
希望我的回答对你有所帮助,如果你有更多问题,请继续问我。
js将数组变成一个对象
可以使用 JavaScript 中的 reduce() 方法将数组转换为对象。以下是一个示例代码:
```javascript
const arr = [
{ key: 'name', value: 'John' },
{ key: 'age', value: 30 },
{ key: 'city', value: 'New York' }
];
const obj = arr.reduce((acc, cur) => {
acc[cur.key] = cur.value;
return acc;
}, {});
console.log(obj); // 输出: { name: 'John', age: 30, city: 'New York' }
```
在这个示例中,我们首先定义了一个数组,其中包含三个对象,每个对象都有一个键和一个值。然后,我们使用 reduce() 方法将数组转换为对象。在 reduce() 方法中,我们将初始值设为一个空对象 {},然后遍历数组中的每个对象,将其键和值添加到累加器对象中。最终,reduce() 方法返回一个包含所有键值对的对象。