遍历一个javascript数组,将值添加到另一个数组

时间:2019-02-08 15:21:41

标签: javascript react-native

如何循环遍历此数组,我想循环并将名称值添加到一个空数组,当我控制台.log时,它给出以下结果,请您帮忙,我的代码结果为空数组

  

this.props.names    它显示

     

(3)[{…},{…},{…}] 0:{名称:“ abc”,ID:1} 1:{名称:“ def”,ID:2} 2:   {name:“ gh”,id:3}长度:3    proto :数组(0)

let titles = []
let cats = []
 cats = this.props.names
 let len = this.props.names.length;
 for( i = 0 ;i< cats.length ; i++){
    titles.push(cats[i].id)
 }

return titles;

2 个答案:

答案 0 :(得分:1)

从我所见...做

let titles = []
let cats = [{name: "abc", id: 1},{name: "def", id: 2},{name: "gh", id: 3}]
 for( var p = 0 ;p< cats.length ; p++){
    titles.push(cats[p].id)
 }

console.log(titles)

答案 1 :(得分:0)

如果您只想提取ID,并且道具和/或名称可能为空或空,则可以使用map

const titles = (props && props.names || []).map(val => val.id);

如果props && props.names || [][]评估为伪造,此处props等于props.names。这样,您仍然可以对其应用map,在这种情况下,它将返回一个空数组。

function demo(props) {
  const titles = (props && props.names || []).map(val => val.id);
  console.log(titles);
}

demo({ names: [{name: 'one', id: 1}, {name: 'two', id: 2}, {name: 'three', id: 3}] });
demo({ names: [] });
demo({});
demo(null);

请参见MDN doc about the map operator