如何循环遍历此数组,我想循环并将名称值添加到一个空数组,当我控制台.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;
答案 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);