从嵌套的json对象中创建新的数组
Javascript: Make new array out of nested json object
我正在获取数据,其中包括嵌套的json对象,并希望创建一个包含这些json对象的新数组。所以如果我得到
[
{
"number": 1,
"products": [
{
"fruit": "apple",
"meat": "chicken"
},
{
"fruit": "orange",
"meat": "pork"
}
]
}
]
我希望新的数组是
[
{
"fruit": "apple",
"meat": "chicken"
},
{
"fruit": "orange",
"meat": "pork"
}
]
var A = [ { "number": 1, "products": [ { "fruit": "apple", "meat": "chicken" }, { "fruit": "orange", "meat": "pork" } ] } ];
var B = [];
A.forEach(function(number) {
B = B.concat(number.products);
});
console.log(B);
使用for循环遍历数据并将其放入新数组中。
var data = [{
"number": 1,
"products": [{
"fruit": "apple",
"meat": "chicken"
}, {
"fruit": "orange",
"meat": "pork"
}]
}],
allProducts = [];
for(var i=0;i< data.length; i++) {
var products = data[0].products;
for(var j=0;j< products.length; j++) {
allProducts.push(products[j]);
}
}
console.log(allProducts);
小提琴
这是假设您想将产品平铺成单个数组-我可能错了…为了测试它,我将一个产品移动到数据数组中单独的父元素中。
var data = [
{
"number": 1,
"products": [
{
"fruit": "apple",
"meat": "chicken"
}
]
},
{
"number": 2,
"products": [
{
"fruit": "orange",
"meat": "pork"
}
]
}
];
var products = data.reduce(function(x, y) {
return x.products.concat(y.products);
});
相关文章:
- knex:根据结果创建数组的合适方法是什么
- 在javascript中创建数组,而不是if.else
- 使用来自不同循环Javascript的数据创建数组
- 尝试从计算创建数组时数组长度无效
- 循环选择标记并创建数组或字符串
- 根据 Array Javascript 中的字符串值动态创建数组名称
- 通过动态创建数组名称在单击函数中引用 javascript 数组
- 如何在不完成添加序列的情况下从rxjs创建数组
- 如何在不创建数组的情况下使用NgFor来生成矩阵UI模式
- 使用jquery从TextArea创建数组
- jquery动态创建数组
- 从现有数组创建数组
- 使用对象的副本创建数组(Javascript)
- 基于分隔符/方括号的实例创建数组
- 如何创建数组取决于是否在jQuery中设置了变量
- 使用JavaScript's Reduce从对象数组创建数组
- 在 JavaScript 中动态创建数组
- 在 javascript 中使 split() 方法使用双引号而不是单引号创建数组
- 在 $.each 函数中使用条件来创建数组
- 如何修改此代码,以便创建数组并将事件添加到数组中