作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个包含多个对象的数组。我想将此数组拆分为多个数组。拆分的条件是 continent
项。
MyArray = [{continent:"europe", fruit:"orange", value:2},
{continent:"asia", fruit:"banana", value:2},
{continent:"europe", fruit:"apple", value:2},
{continent:"asia", fruit:"apple", value:5}
];
输出:
[
[{continent:"europe", fruit:"orange", value:2},
{continent:"europe", fruit:"apple" value:2}
], [
{continent:"asia", fruit:"banana", value:2},
{continent:"asia", fruit:"apple" value:5}]
];
最佳答案
您可以搜索具有相同大陆的数组并更新此数组或使用实际对象推送一个新数组。
var array = [{ continent: "europe", fruit: "orange", value: 2 }, { continent: "asia", fruit: "banana", value: 2 }, { continent: "europe", fruit: "apple", value: 2 }, { continent: "asia", fruit: "apple", value: 5 }],
grouped = array.reduce(function (r, o) {
var group = r.find(([{ continent }]) => continent === o.continent)
if (group) {
group.push(o);
} else {
r.push([o]);
}
return r;
}, []);
console.log(grouped);
.as-console-wrapper { max-height: 100% !important; top: 0; }
关于javascript - 将带有对象的数组拆分为 2 个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48974820/
我是一名优秀的程序员,十分优秀!