3 回答

TA貢獻1812條經(jīng)驗 獲得超5個贊
循環(huán)結(jié)束obj2。如果該key值是 的屬性obj,則將相應的值復制到setValue對象的屬性中,并將其壓入結(jié)果。
obj = {
"name": "jack",
"age": 10,
"country": "india",
"state": "Delhi"
};
obj2 = [{key: "product", type="", value="", required="true", mandatory="true"},
{key: "sub-product", type="", value="", required="true", mandatory="true"},
{key: "name", type="text", value="", required="true", mandatory="true"},
{key: "age", type="text", value="[0-9]", required="true", mandatory="true"},
{key: "country", type="text", value="[a-z]", required="true", mandatory="true"},
{key: "state", type="text", value="[a-z]", required="true", mandatory="true"}];
var result = [];
obj2.forEach(o => {
if (o.key in obj) {
o.setValue = obj[o.key];
result.push(o);
}
});
console.log(result);

TA貢獻1936條經(jīng)驗 獲得超7個贊
您可以先使用過濾它hasOwnProperty,然后將其映射到設(shè)置setValue屬性。這是實現(xiàn):
var obj = { "name": "jack", "age": 10, "country": "india", "state": "Delhi" };
var obj2 =[{key: "product", type:"", value:"", required:"true", mandatory:"true"}, {key: "sub-product", type:"", value:"", required:"true", mandatory:"true"}, {key: "name", type:"text", value:"", required:"true", mandatory:"true"}, {key: "age", type:"text", value:"[0-9]", required:"true", mandatory:"true"}, {key: "country", type:"text", value:"[a-z]", required:"true", mandatory:"true"}, {key: "state", type:"text", value:"[a-z]", required:"true", mandatory:"true"}];
var result = obj2.filter(k=>obj.hasOwnProperty(k.key)).map(p=>({...p, setValue:obj[p.key]}));
console.log(result);

TA貢獻1934條經(jīng)驗 獲得超2個贊
你可以使用Array.prototype.flatmap來實現(xiàn)這個
const obj = {
"name": "jack",
"age": 10,
"country": "india",
"state": "Delhi"
}
const obj2 = [
{key: "product", type:"", value:"", required:"true", mandatory:"true"},
{key: "sub-product", type:"", value:"", required:"true", mandatory:"true"},
{key: "name", type:"text", value:"", required:"true", mandatory:"true"},
{key: "age", type:"text", value:"[0-9]", required:"true", mandatory:"true"},
{key: "country", type:"text", value:"[a-z]", required:"true", mandatory:"true"},
{key: "state", type:"text", value:"[a-z]", required:"true", mandatory:"true"}
]
const result = obj2.flatMap((entry) => {
if (obj[entry.key]) {
return {
...entry,
setValue: obj[entry.key],
}
}
return []
})
console.log(result)
添加回答
舉報