[英]How can i match an value of the arrays object with another object?
我有这个关于用户的 arrays,我有另一个关于品牌的 object,但我想将用户的品牌与品牌相匹配
let users = [{
...data
brand: 'RET'
},
{
...data
brand: 'CAT'
}
]
这是品牌 object
let brands = {
TYS: 81,
RET: 62,
CAT: 90,
NK: 87,
}
如果用户拥有品牌,那么我必须标记是这样的品牌
let brands = {
TYS: {
value: 81,
exist: 'No'
},
RET: {
value: 62,
exist: 'Yes'
},
CAT: {
value: 90,
exist: 'Yes'
},
NK: {
value: 90,
exist: 'No'
}
}
您可以遍历 object 的条目并使用Array#some
检查每个品牌是否存在。
let users = [{brand: 'RET'},{brand: 'CAT'}] let brands = {TYS: 81,RET: 62,CAT: 90,NK: 87,} for(const [key, value] of Object.entries(brands)){ brands[key] = { value, exist: users.some(({brand})=>brand===key)? 'Yes': 'No' } } console.log(brands)
.as-console-wrapper{max-height:100%;important:top:0}
你可以这样做...
Object.keys(brands).forEach((brand) => {
brandsData[brand] = {
value: brands[brand],
exists: users.find((user) => user.brand == brand) ? "Yes" : "No",
};
});
let users = [ { brand: "RET", }, { brand: "CAT", }, ]; let brands = { TYS: 81, RET: 62, CAT: 90, NK: 87, }; let brandsData = {}; Object.keys(brands).forEach((brand) => { brandsData[brand] = { value: brands[brand], exists: users.find((user) => user.brand == brand)? "Yes": "No", }; }); console.log(brandsData);
如果要更改brands
brandsData
本身,则将代码中的brands
数据替换为品牌。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.