通过javascript数组循环将值添加到另一个数组
如何循环通过这个数组,我想循环,并添加名称值到一个空数组,当我控制台。日志它给出了下面的结果,请您帮助,我的代码的结果是空数组 这个。道具。名字 它表明 (3) [{…},{…},{…}]0:{name:“abc”,id:1}1:{name:“def”,id:2}2: {name:“gh”,id:3}长度:3 proto:数组(0)通过javascript数组循环将值添加到另一个数组,javascript,react-native,Javascript,React Native,如何循环通过这个数组,我想循环,并添加名称值到一个空数组,当我控制台。日志它给出了下面的结果,请您帮助,我的代码的结果是空数组 这个。道具。名字 它表明 (3) [{…},{…},{…}]0:{name:“abc”,id:1}1:{name:“def”,id:2}2: {name:“gh”,id:3}长度:3 proto:数组(0) let titles=[] 让猫来吧 cats=this.props.names 让len=this.props.names.length; 对于(i=0;i
let titles=[]
让猫来吧
cats=this.props.names
让len=this.props.names.length;
对于(i=0;i
从我所看到的。。。做
let titles=[]
let cats=[{name:“abc”,id:1},{name:“def”,id:2},{name:“gh”,id:3}]
对于(var p=0;p console.log(titles)
如果您只是想提取ID,而道具和/或名称可能为空或空,您可以使用映射来完成:
const titles = (props && props.names || []).map(val => val.id);
如果props
或props.names
的计算结果为falsy,则此处props和&props.names | |【】
将等于props
。这样,您仍然可以对它应用map
,在本例中,它将返回一个空数组
功能演示(道具){
const titles=(props&&props.names | |[]).map(val=>val.id);
控制台日志(标题);
}
演示({name:[{name:'one',id:1},{name:'two',id:2},{name:'three',id:3}]});
演示({names:[]});
演示({});
演示(空)
1
应该是i
,但是你可以用map做得更可读:const titles=cats.map(cat=>cat.id)
它被更正了,但结果仍然是空数组尝试使用length
而不是leng
,或者更好;使用地图。你能发布一些数据样本吗?例如:this.props.names=[a,b,c,d]
以及预期结果和当前结果预期结果:[x,y,z];当前结果:[e,r,t]
您基本上可以将此处发布的所有代码替换为返回此.props.names.map(cat=>cat.id)
添加的代码段。如果props
为空,这将有何帮助?
const titles = (props && props.names || []).map(val => val.id);