Object.map in JS



我知道JS中的Object没有自己的映射方法。

我想创建我自己的映射方法,它可以更改对象的键或值。

const obj = {name:'John', job:'dev'}

看起来应该是:

const result = obj.map(([key, value], idx, self)=>{
if(value === 'dev'){
return { [key]: value }
}
return {}
})
output// result = {job:'dev'}

const result = obj.map(([key, value], idx, self)=>{
if(key === 'John'){
return { [key]: value }
}
return {}
})
output// result = {name:'John'}

请给我一个建议!

您可以使用Object.keys或非常类似的方法来完成此操作。这里有一种方法,我可以得到一个物品{}和一个带有{name:"John"}的物品

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys

const result = Object.keys(obj).map((key, idx, self) => obj[key] === 'John' ? {[key]: obj[key]} : {})

另一种方法是查看Object.entries。它不那么直接。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries

const result2 = Object.entries(obj).map(([key, val], idx, self) => val === 'John' ? {[key]: val} : {})

值得注意的是,地图最终将返回一个数组。如果你正在寻找奇异的东西,那么你可能想进一步减少/过滤这个项目。

相关内容

  • 没有找到相关文章

最新更新