【发布时间】:2023-03-29 23:15:01
【问题描述】:
目前我有以下对象结构,
`让 selectedOptions = { “颜色”: { “id”:“2”, “价值观”:[ { “价值”:“红色”, “标签”:“红色”, “身份证”:1 }, { “价值”:“蓝色”, “标签”:“蓝色”, “身份证”:2 } ] }, “尺寸”: { “id”:“19”, “价值观”:[ { “价值”:“中等”, “标签”:“中”, “身份证”:2 } ] }, “演示”:{ “id”:“19”, “价值观”:[ { “价值”:“尼龙”, “标签”:“尼龙”, “身份证”:2 } ] } . . . ñ }; `并且想从上面的对象创建对象数组,如下所示,
[
{ color: "red", size: "medium", demo: "neylon" },
{ color: "blue", size: "medium", demo: "neylon" }
]
我尝试了下面的方法,但没有成功 https://jsfiddle.net/6Lvb12e5/18/
let cArr = [];
for(key in selectedOptions) {
selectedOptions[key].values.forEach(function(val,i) {
cArr.push({ [key]: val.value })
})
}
谢谢
【问题讨论】:
-
如果
size有多个对象,你如何从中创建最终数组? -
@AaminKhan - 例如 Size 包含另一个值 Small。那么最终的数组应该是
[ { color: "red", size: "medium", demo: "neylon" }, { color: "red", size: "small", demo: "neylon" }, { color: "blue", size: "medium", demo: "neylon" }, { color: "blue", size: "small", demo: "neylon" } ] -
“没有用”是什么意思?你能粘贴你错误的结果吗(我猜是
cArr)?
标签: javascript arrays object underscore.js javascript-objects