javascript - 将项目添加到数组中,而不是用新值覆盖当前值
问题描述
我试图弄清楚如何将新项目添加到数组中,而不是用新值覆盖当前值。我正在使用 .push() ,它应该在每次映射通过数组时添加项目。有任何想法吗?
const searchChips = [
{value: "string"}, {value: "test"}
];
const query = {
bool: {
filter: []
}
};
const searchQuery = {
query_string: {
query: ""
}
};
searchChips.map(chip => {
console.log(chip);
const key = "query";
searchQuery.query_string[key] = chip.value;
query.bool.filter.push(searchQuery);
});
console.log(query);
解决方案
问题似乎是您正在进入功能query.bool.filter
之外.map()
。尝试这个。
const searchChips = [{ value: "string" }, { value: "test" }];
const query = {
bool: {
filter: []
}
};
searchChips.forEach(chip => {
const key = "query";
const searchQuery = {
query_string: {
query: ""
}
};
searchQuery.query_string[key] = chip.value;
query.bool.filter.push(searchQuery);
});
console.log(JSON.stringify(query));
推荐阅读
- laravel - Laravel 和 Vuejs。我可以发帖,但我无法获取数据
- javascript - JavaScript:在 catch 中返回不要停止代码
- python-3.x - python模式验证问题
- batch-file - Start .exe with Batch file and several parameters
- css - 如何用圆角填充部分div?
- python - 致命的 Python 错误:init_sys_streams:无法初始化 sys 标准流 AttributeError:模块“io”没有属性“OpenWrapper”
- r - Shiny:从一个模块获取(反应式)值并将其(作为反应式)传递给另一个模块的 callModule() 函数
- excel - 从具有混合内容的 MS Excel 中的单元格中提取值
- ios - 使用“自动管理签名”/allowProvisioningUpdates 时何时更新配置文件?
- linux - 在 tcl exec 中传递变量参数的正确方法是什么?