Javascript 如何从dict数组中提取一些数据以放入数组中?
我试图从dict数组中提取一些数据,但它不起作用 这是我的密码:Javascript 如何从dict数组中提取一些数据以放入数组中?,javascript,reactjs,Javascript,Reactjs,我试图从dict数组中提取一些数据,但它不起作用 这是我的密码: var myarray = [{'country': 'US', 'type': 'eat'}, {'country': 'DE', 'type': 'test'}] var arr = [] for (var key in myarray){ if (key.hasOwnProperty('country')){ arr.push(key.country) } } console.log(arr);
var myarray = [{'country': 'US', 'type': 'eat'}, {'country': 'DE', 'type': 'test'}]
var arr = []
for (var key in myarray){
if (key.hasOwnProperty('country')){
arr.push(key.country)
}
}
console.log(arr);
最后我想要的是这个arr=['US','DE']
我知道我正在使用React.js,也许有一个函数更有效地做到这一点。。。但是我没有发现
这是我的密码:
非常感谢你的帮助 代码不起作用的原因是数组的iterable键只是它的索引。所以你在检查0.hasOwnProperty'country'e.t.c.,这显然没有意义。您可以通过执行以下操作来解决此问题:
var myarray = [{'country': 'US', 'type': 'eat'}, {'country': 'DE', 'type': 'test'}];
const arr = myarray.map(c => c.country);
if (myarray[key].hasOwnProperty('country')){
arr.push(myarray[key].country)
}
}
但减少阵列更有意义:
const arr = myarray.reduce((a, c) => a.concat(c.country || []), []);
代码无法工作的原因是数组的iterable键只是它的索引。所以你在检查0.hasOwnProperty'country'e.t.c.,这显然没有意义。您可以通过执行以下操作来解决此问题:
if (myarray[key].hasOwnProperty('country')){
arr.push(myarray[key].country)
}
}
但减少阵列更有意义:
const arr = myarray.reduce((a, c) => a.concat(c.country || []), []);
您想要实现的与React无关,可以使用javascript功能实现。另一方面,您希望返回myarray中每个对象的特定键的值 您可以像这样使用Array.prototype.reduce方法执行该操作 设myArray=[ {'country':'US','type':'eat'}, {'country':'DE','type':'test'} ]; const result=myArray.reduceacumerator,当前=>{ 返回累加器.concatcurrent.country; }, [];
console.logresult 您想要实现的与React无关,可以使用javascript功能实现。另一方面,您希望返回myarray中每个对象的特定键的值 您可以像这样使用Array.prototype.reduce方法执行该操作 设myArray=[ {'country':'US','type':'eat'}, {'country':'DE','type':'test'} ]; const result=myArray.reduceacumerator,当前=>{ 返回累加器.concatcurrent.country; }, []; console.logresult;