[英]Use values as new keys and assign false as the value for these in an array of objects
我想改變一個包含對象的數組,使其只包含一個鍵值對,其中鍵是某個鍵的值。
具體來說,我有一個這樣的輸入數組:
const inputArray = [
{key1: 'en', key2: 'English'},
{key1: 'ja', key2: 'Japanese', key3: 'some additional key-value-pair'}
]
我希望 output 數組是這樣的,使用key2
的值作為鍵,使用false
作為這些值,僅此而已:
const desiredOutput = [
{English: false},
{Japanese: false}
]
到目前為止,我嘗試如下,使用.map()
:
const inputArray = [{key1: 'en', key2: 'English'}, {key1: 'ja', key2: 'Japanese', key3: 'some additional key-value-pair'}] const outputArray = inputArray.map(obj => { obj[obj.key2] = false return obj }) console.log(outputArray)
我試過.reduce
但無濟於事。
console.log(inputArray.map((input) => {
return {[input.key2]: false};
}));
const inputArray = [ {key1: 'en', key2: 'English'}, {key1: 'ja', key2: 'Japanese', key3: 'some additional key-value-pair'} ] console.log(inputArray.map((input) => { return {[input.key2]: false}; }))
您所做的是向obj
添加key2
值並返回 object。 相反,您需要返回僅包含key2
屬性和false
的新 object
const inputArray = [ {key1: 'en', key2: 'English'}, {key1: 'ja', key2: 'Japanese', key3: 'some additional key-value-pair'} ] const desiredOutput=inputArray.map(obj=>( {[obj.key2]:false} //Here I am creating a new object and returning it )) console.log(desiredOutput)
您沒有變形輸入數組的每個元素,而是添加到它們中......
const inputArray = [{ key1: 'en', key2: 'English' }, { key1: 'ja', key2: 'Japanese', key3: 'some additional key-value-pair' }] const outputArray = inputArray.map(obj => { let newObj = {}; newObj[obj.key2] = false; return newObj; }) console.log(outputArray);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.