Javascript 如何将此对象中的每个密钥对作为新对象添加到数组中?
我有一个API,它返回一个如下所示的对象:Javascript 如何将此对象中的每个密钥对作为新对象添加到数组中?,javascript,arrays,object,Javascript,Arrays,Object,我有一个API,它返回一个如下所示的对象: {不确定:5,产品:25,趋势:124} 我需要做的是将这些键/值对添加到一个数组中,使它们像这样出现: catArray = [ { unsure: 5 }, { products: 5 }, { trend: 5 }, ] 更好的是: catArray = [ { name: unsure, count: 5 }, { name: products,
{不确定:5,产品:25,趋势:124}
我需要做的是将这些键/值对添加到一个数组中,使它们像这样出现:
catArray = [
{ unsure: 5 },
{ products: 5 },
{ trend: 5 },
]
更好的是:
catArray = [
{
name: unsure,
count: 5
},
{
name: products,
count: 15
},
{
name: trend,
count: 50
}
]
当前代码笔代码:
var categories = { unsure: 5, products: 25, trend: 124 }
var catArray = [];
for (var i in categories) {
console.log(i + ":" + categories[i]);
catArray[i] = categories[i];
}
// vm.categories = Object.keys(data.data.categories);
console.log('catArray =',catArray);
现在我得到了一个长度为0
的奇怪数组,我的目标是一个数组,其中包含对象,然后我可以在我的Angular应用程序中使用ng repeat
迭代并构建一个列表
非常接近,您可以执行以下操作:
var data = { unsure: 5, products: 25, trend: 124 }
var newData = [];
for (var key in data) {
newData.push({
name: key,
count: data[key]
});
}
或者,另一种方法
var newData = Object.keys(data).map(function(key) {
return {
name: key,
count: data[key]
}
});
演示:非常接近,您可以执行以下操作:
var data = { unsure: 5, products: 25, trend: 124 }
var newData = [];
for (var key in data) {
newData.push({
name: key,
count: data[key]
});
}
或者,另一种方法
var newData = Object.keys(data).map(function(key) {
return {
name: key,
count: data[key]
}
});
演示:您可以使用这种方式
var categories = { unsure: 5, products: 25, trend: 124 }
var catArray = [];
for (var i in categories) {
if (categories.hasOwnProperty(i)) {
alert(i + " -> " + categories[i]);
catArray.push({name:i,value:categories[i]});
}
}
// vm.categories = Object.keys(data.data.categories);
console.log(catArray);
你可以用这种方式
var categories = { unsure: 5, products: 25, trend: 124 }
var catArray = [];
for (var i in categories) {
if (categories.hasOwnProperty(i)) {
alert(i + " -> " + categories[i]);
catArray.push({name:i,value:categories[i]});
}
}
// vm.categories = Object.keys(data.data.categories);
console.log(catArray);
第二个版本的Object.keys是否更快?@LeonGaban——老实说,不知道——通过jsperf!运行它:DWhoa,
.map
方式快66%!第二个版本的Object.keys是否更快?@LeonGaban——老实说,不知道——通过jsperf!运行它:DWhoa,.map
方式快66%!