我有一个像这样的对象数组:
T.get('statuses/user_timeline', {screen_name: account, count: 200} , function(err, data){
if(err){return res.send();};
var i = 0;
last_id = data[data.length-1].id_str;
for(var n in data)
{
twits.push({content: data[n].text, date: data[n].created_at});
}
if(data.length < 200){
var twitsToSend = filter(twits);
return res.send(twitsToSend);
}
var getTwits = setInterval(function()
{
T.get('statuses/user_timeline', {screen_name: account, count: 200, max_id: last_id},function(err,data){
if(err){return res.send();};
last_id = data[data.length-1].id_str;
if(data.length < 200){
var twitsToSend = filter(twits);
return res.send(twitsToSend);
}
for(var n in data)
{
twits.push({content: data[n].text, date: data[n].created_at});
}
});
++i;
if(i==9)
{
clearInterval(getTwits);
var twitsToSend = filter(twits);
return res.send(twitsToSend);
};
},845);
});
});
我想要的结果是:
var customerArr = [
{
name:'Tarmizi',
address: 'Bintaro'
},
{
name:'Imam',
address: 'Pejaten'
},
{
name:'gugi',
address: 'Depok'
},
{
name:'een',
address: 'Bintaro'
}
];
我可以通过以下方式得到上面的结果:
Tarmizi
Imam
gugi
een
但在我的情况下,我通过上传带有标题的excel文件从json数组获取的数组对象具有空格。
所以,我需要获取数组的值而不提及它的关键。
for(customer in customerArr){
console.log(customerArr[customer].name);
}
非常感谢
答案 0 :(得分:0)
您可以通过将其括在方括号中来引用变量中的属性名称:
var propertyName = 'name'; // Property name from header array
var customerArr = [
{
name:'Tarmizi',
address: 'Bintaro'
},
{
name:'Imam',
address: 'Pejaten'
},
{
name:'gugi',
address: 'Depok'
},
{
name:'een',
address: 'Bintaro'
}
];
for(customer in customerArr){
console.log(customerArr[customer][propertyName]);
}
答案 1 :(得分:0)
您可以使用customerArray[key]
提取对象中给定属性的值。由于key
将是一个字符串,因此如果内部有空格则无关紧要。
所以,使用你在问题中提供的数组:
var values = new Array;
customerArray.forEach((customer) => {
if(costumer['name']) values.push(customer['name']);
return;
}
使用此代码,值将等于您的名称数组。请注意,字符串'name'是从数组示例中提取出来的,但也可以是包含空格的任何字符串。更重要的是,您不必假设您的对象键值对已正确排序。
@squint评论后更新