如何循环嵌套数组,并保留数组结构

时间:2017-11-06 17:24:28

标签: javascript arrays loops

我目前有一个数组数组,如下所示:

[Array(8), Array(5), Array(7), Array(13), Array(9), Array(5), Array(4), Array(10)]

每个数组中都有对象,每个对象都有不同的值。

我要做的是遍历整个数组,然后在每个数组中,我想从数组中的每个对象中获取一个值。我没有遇到过这样的问题,但我遇到的问题是保留了原始结构。

我本质上想要保留所有数组的样子,但是我不想显示整个对象,而只想从对象中显示我需要的一个值。

for (let i = 0, len = item.length; i < len; i++) {
        temp = item[i];
        for (let i = 0, len = temp.length; i < len; i++) {
             array.push(temp[i].item);
         }
     }

这是我的代码,问题是,我得到一个单个数组中所有项目的列表,而不是原始格式。

1 个答案:

答案 0 :(得分:0)

希望我的问题正确。
如果是这样,你可以用

来做

lodash

const currentArray = [[{name: 'foo'},{name: 'bar'},{name: 'bar'}], [{name: 'foo'},{name: 'foo'},{name: 'bar'}]];

const newArray = _.map(currentArray, innerArray => {

  return _.map(innerArray, obj => obj.name)
});

console.log(newArray);  //[['foo','bar','bar'],['foo','foo','bar']]

ES6

const currentArray= [[{name: 'foo'},{name: 'bar'},{name: 'bar'}], [{name: 'foo'},{name: 'foo'},{name: 'bar'}]];


const newArray = currentArray.map(innerArray => {

  return innerArray.map(obj => obj.name)
});

console.log(newArray); //[['foo','bar','bar'],['foo','foo','bar']]