[英]How to create an array of objects with a for loop
我有一个名为listData的对象数组,我想将某些信息从一个单独的称为标记的对象中调用。
var markers = [];
for(let i=0;i<listData.length;i++){
markers.push({
latitude:this.state.listData[i].geometry.location.lat,
longitude:this.state.listData[i].geometry.location.lng,
title:this.state.listData[i].name
});
}
但它不起作用。
我喜欢将“地图”用于此类数据返回。 其他人发布的内容没有错,我更喜欢这种简洁的语法。 我假设您错误地引用了初始值。 您没有在循环中使用this.state.listData。
var markers = this.state.listData.map(function(v){
return {
latitude:v.geometry.location.lat,
longitude:v.geometry.location.lng,
title:v.name
}
})
从您的代码中,我假设您需要以下内容:
for( let i=0; i < listData.length; i++ ){
markers.push(
{
latitude: listData[i].geometry.location.lat,
longitude: listData[i].geometry.location.lng,
title: listData[i].name
}
);
您只想遍历listData
并为此数组(或类似对象的数组)的每一项添加一个新对象到markers
数组。 所以我不明白为什么您使用this.state
访问listData
。
试试这个,我想这就是你想要的。
删除this
并从state
启动层次结构,如果它没有帮助,则可以删除this.state
和start this.state
。
var markers = []; for(var i = 0; i < 5; i++){ markers.push( { latitude:'0123', longitude:'0345' }); } console.log(markers);
随心所欲改变和增加 values
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.