我如何使用forEach将javascript中的数组元素转换为独立数组

3 javascript arrays ecmascript-6

我试图将数组的元素转换为独立的数组,然后将这些数组添加到新数组。这就是我尝试过的。但是无法使其正常工作。 splice方法不能与一起正常使用forEachforEach只能运行一半数组,然后退出。

我期望的是这样的东西[['Apple'],['Banana'],['Mango'],['Pomegranate']]

const fruits = ['Apple', 'Banana', 'Mango', 'Pomegranate']

function removeArrayItem(item,index){
    return fruits.splice(0,1)
}

const fruitsList = []

fruitsList.unshift(fruits.forEach(removeArrayItem))

console.log(fruitsList)
Run Code Online (Sandbox Code Playgroud)

Ant*_*ony 7

您可以这样做:

const fruits = ['Apple', 'Banana', 'Mango', 'Pomegranate']

console.log(fruits.map(fruit => [fruit]));
Run Code Online (Sandbox Code Playgroud)

如果您已启用forEach,则可以执行以下操作:

const fruits = ['Apple', 'Banana', 'Mango', 'Pomegranate'];
const result = [];

fruits.forEach(fruit => result.push([fruit]));

console.log(result);
Run Code Online (Sandbox Code Playgroud)

这样的事情适用于拼接:

const fruits = ['Apple', 'Banana', 'Mango', 'Pomegranate'];
const initialLength = fruits.length;
const result = [];

for(let i = 0; i < initialLength; i++) {
    result.push(fruits.splice(0,1));
}

console.log(result);
Run Code Online (Sandbox Code Playgroud)

  • 不能和`forEach`一起使用;您正在迭代数组时对其进行了变异,这不是一个好习惯 (2认同)