You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript:在对象中动态创建数组并向其中添加元素

实现populate函数以动态填充filters对象

没问题,我来帮你搞定这个需求!我们要实现的populate函数需要能灵活地给全局的filters对象添加或更新数组类型的属性:

  • 如果目标属性已经存在(比如color或size),就把传入的value追加到对应的数组里
  • 如果属性不存在,就创建这个新属性,并把value放进一个新数组作为它的值

完整代码实现

// 初始空对象
let filters = {};

// 先填充需求里的初始数据
filters.color = ["Blue", "Black"];
filters.size = [70, 50];

// 实现populate函数
function populate(key, value) {
    // 检查filters中是否已存在该属性
    if (filters[key]) {
        // 存在则将新值推入对应数组
        filters[key].push(value);
    } else {
        // 不存在则创建新属性,值为包含当前value的数组
        filters[key] = [value];
    }
}

测试调用示例

当我们执行调用:

populate("material", "plastic");

此时filters对象会变成你想要的样子:

filters = { 
    color: ["Blue", "Black"], 
    size: [70, 50], 
    material: ["plastic"] 
};

代码说明

我没有针对color或size做特殊判断,而是用通用逻辑处理所有key——这样不管是已有的属性还是未来新增的属性,函数都能正常工作,扩展性更强。每次调用都会自动处理数组的追加或初始化,完全匹配你的需求。

内容的提问来源于stack exchange,提问作者Ciprian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 07:20:47