從這個物件:
{"a": "a", "b": "b", "c": [1,2,3]}
我想得到這個:
{"a": "a", "b": "b", "c":1}
{"a": "a", "b": "b", "c":2}
{"a": "a", "b": "b", "c":3}
我能怎么做?
uj5u.com熱心網友回復:
您可以map
從源物件和回呼項引數中獲取data.c
和獲取。a
b
c
map
const data = {"a": "a", "b": "b", "c": [1,2,3]}
const result = data.c.map(i => ({
a: data.a,
b: data.b,
c: i,
}))
console.log(result)
uj5u.com熱心網友回復:
映射object[c]
并回傳物件本身的副本 當前值:
let expand = (obj, key) => obj[key].map(val => ({...obj, [key]: val}))
test = {"a": "a", "b": "b", "c": [1,2,3]}
result = expand(test, 'c')
console.log(result)
uj5u.com熱心網友回復:
首先,您應該檢查是否obj[key]
是一個陣列。如果是,繼續映射,否則只回傳物件
const transform = (obj, key) => {
if (!Array.isArray(obj[key])) return obj
return obj[key].map(val => ({ ...obj, [key]: val }))
}
console.log(transform({ a: "a", b: "b", c: "c" }, "c"))
console.log(transform({ a: "a", b: "b", c: [1, 2, 3] }, "c"))
console.log(transform({ a: "a", b: "b", d: [4, 5, 6] }, "d"))
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/508425.html
標籤:javascript 数组 目的