javascript - foreach 中的对象仅存储最后一个值 JavaScript
问题描述
我有一个需要存储在数据库中的特定格式,我几乎就在那里,只是不知道也找不到解决方案,如何让 foreach 存储所有对象,而不仅仅是最后一个。这是只返回最后一个结果的原始代码:
optionDetails.done((data) => {
_.each(data, function(option, key) {
column.config.options_product = {
id: "product_" + key.toString(),
text: option.identifier
};
});
}
我知道这可以设置为空数组并用数组存储值,但格式也将是数组,不会保存在数据库中。
那么我应该如何处理这个问题,也许将它存储在一个数组中然后转换为对象。理想的情况是串联:
optionDetails.done((data) => {
_.each(data, function(option, key) {
column.config.options_product += {
id: "product_" + key.toString(),
text: option.identifier
};
});
}
这是我需要的格式:
{id: "product_4", text: "1000003"}
但这不起作用。如果有人知道正确的路径,请分享。谢谢。
解决方案
+= 不会连接对象。您需要将值添加到特定键。您需要显式添加对象。所以先将其转换成数组,然后使用 push 操作符来推送对象。
那是:
column.config.options_product = []
_.each(data, function(option, key) {
column.config.options_product.push({
id: "product_" + key.toString(),
text: option.identifier
};
}));
推荐阅读
- visual-studio-code - 如何使用选定的行在当前打开的文件夹中搜索
- next.js - NextJS - fetch() 仅在 getServerSideProps() 内有效
- javascript - 计算数组中的出现次数
- go - 第一个 HTTP 请求总是很慢
- android - Flutter:在没有谷歌/苹果商店的应用更新中?
- node.js - 错误:写入 EPROTO 4455222784:错误:1408F10B:SSL 例程:ssl3_get_record:错误的版本号:../deps/openssl/openssl/ssl/record/ssl3_record.c:332:
- java - 如何在 Solr 中进行索引聚类?
- java - 计算给定特定日期和时间的分钟时差
- vue.js - Vue.js 不同的符号
- typescript - 如何在打字稿中键入此对象?