【发布时间】:2020-01-13 08:52:32
【问题描述】:
我有一个对象数组,我需要将其拆分为 2 个数组,一个包含与特定属性匹配的所有对象,另一个包含其余对象的数组。
例如,这是一个示例数组:
const fruits = [
{name:"orange", qty: 1},
{name:"orange", qty: 2},
{name:"banana", qty: 4},
{name:"apple", qty: 6},
{name:"kiwi", qty: 3},
{name:"apple", qty: 2}
];
我需要做的是将所有对象与名称 apple 组合到一个数组中,其余的到另一个数组中。
预期:
const fruits1 = [
{name:"orange", qty: 1},
{name:"orange", qty: 2},
{name:"banana", qty: 4},
{name:"kiwi", qty: 3},
];
const fruits2 = [
{name:"apple", qty: 6},
{name:"apple", qty: 2}
];
我可以使用过滤器来做到这一点,但是我必须循环两次水果。有没有更有效的方法?
【问题讨论】:
-
"使用过滤器,...我已经循环了两次水果"?那个怎么样?你能展示你的过滤器循环吗?
-
使用简单的循环。如果名称是“apple”,则将其添加到
fruits2数组,否则添加到fruits1数组?
标签: javascript arrays loops object grouping