Javascript return 并映射到一个对象
Javascript return and map to an object
我有一个对象,我想 return 两个值并将它们映射到 1 个对象。
对象
Itemlist:[
{name: 'Chicken', searchParam: 'chicken', search: true},
{name: 'table', searchParam: 'table', search: false},
{name: 'books', searchParam: 'books', search: true}]
想要 return 从 Itemlist searchParam 搜索并映射到结果为的对象:
{chicken: true},{table: false},{books: true},
所以 return 会像
{ 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);
您可以创建一个新对象,然后使用 [] 语法分配属性
var result = {};
result[Itemlist[0].searchParam] = Itemlist[0].search;
return result;
你可以
let arr = [
{name: 'Chicken', searchParam: 'chicken', search: true},
{name: 'table', searchParam: 'table', search: false},
{name: 'books', searchParam: 'books', search: true}];
let result = arr.reduce((a, b) => {
let prop = b.searchParam;
a[prop] = b.search;
return a;
}, {});
console.log(result);
var itemlist = [{
name: 'Chicken',
searchParam: 'chicken',
search: true
}, {
name: 'table',
searchParam: 'table',
search: false
}, {
name: 'books',
searchParam: 'books',
search: true
}];
var list = itemlist.map(function(item){
return {[item['name']] : item.search}
});
console.log(list);
我有一个对象,我想 return 两个值并将它们映射到 1 个对象。
对象
Itemlist:[
{name: 'Chicken', searchParam: 'chicken', search: true},
{name: 'table', searchParam: 'table', search: false},
{name: 'books', searchParam: 'books', search: true}]
想要 return 从 Itemlist searchParam 搜索并映射到结果为的对象:
{chicken: true},{table: false},{books: true},
所以 return 会像
{ 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);
您可以创建一个新对象,然后使用 [] 语法分配属性
var result = {};
result[Itemlist[0].searchParam] = Itemlist[0].search;
return result;
你可以
let arr = [
{name: 'Chicken', searchParam: 'chicken', search: true},
{name: 'table', searchParam: 'table', search: false},
{name: 'books', searchParam: 'books', search: true}];
let result = arr.reduce((a, b) => {
let prop = b.searchParam;
a[prop] = b.search;
return a;
}, {});
console.log(result);
var itemlist = [{
name: 'Chicken',
searchParam: 'chicken',
search: true
}, {
name: 'table',
searchParam: 'table',
search: false
}, {
name: 'books',
searchParam: 'books',
search: true
}];
var list = itemlist.map(function(item){
return {[item['name']] : item.search}
});
console.log(list);