我有一个对象,我想返回两个值并将它们映射到 1 个对象中。
对象
Itemlist:[
{name: 'Chicken', searchParam: 'chicken', search: true},
{name: 'table', searchParam: 'table', search: false},
{name: 'books', searchParam: 'books', search: true}]
想要从 Itemlist searchParam 返回并搜索并映射到结果将是的对象:
{chicken: true},{table: false},{books: true},
所以返回会是这样的
{ Itemlist[0].searchParam :Itemlist[0].search }
最佳答案
您可以使用array#map
从itemlist的每个对象中获取包含name
和search
值的对象数组。
var itemlist = [{name: 'Chicken', searchParam: 'chicken', search: true},{name: 'table', searchParam: 'table', search: false},{name: 'books', searchParam: 'books', search: true}];
var result = itemlist.map(({searchParam, search}) => ({[searchParam]: search}));
console.log(result);
ES5 代码:
var itemlist = [{name: 'Chicken', searchParam: 'chicken', search: true},{name: 'table', searchParam: 'table', search: false},{name: 'books', searchParam: 'books', search: true}];
var result = itemlist.map(function(item) {
var obj = {};
obj[item.searchParam] = item.search;
return obj;
});
console.log(result);
关于Javascript 返回并映射到一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46489896/