3 回答

TA貢獻(xiàn)1816條經(jīng)驗(yàn) 獲得超4個(gè)贊
+=運(yùn)算符不能像您預(yù)期的那樣處理對(duì)象。
嘗試=像這樣的運(yùn)算符group[key] = object[key]。
const object = {
a: {prop1: 'abc', prop2: 'def', prop3: 'ghi'},
b: {prop1: 'jkl', prop2: 'mno', prop3: 'pqr'},
c: {prop1: 'abc', prop2: 'def', prop3: 'ghi'},
d: {prop1: 'abc', prop2: 123, prop3: 'ghi'}
};
let group = {};
for (let key in object) {
if (object[key].prop1 === 'abc') {
group[key] = object[key];
}
}
console.log(group);

TA貢獻(xiàn)1757條經(jīng)驗(yàn) 獲得超8個(gè)贊
你可以試試這個(gè)
const object = {
a: {prop1: 'abc', prop2: 'def', prop3: 'ghi'},
b: {prop1: 'jkl', prop2: 'mno', prop3: 'pqr'},
c: {prop1: 'abc', prop2: 'def', prop3: 'ghi'},
d: {prop1: 'abc', prop2: 123, prop3: 'ghi'}
};
let group = {};
for (let key in object) {
if (object[key].prop1 === 'abc') {
group[key] = object[key];
}
console.log(object[key]);
}
console.log(group);

TA貢獻(xiàn)1877條經(jīng)驗(yàn) 獲得超6個(gè)贊
您使用Object.entries返回對(duì)象數(shù)組與 [[key, value],[key,value],...] 的組合。接下來,您可以filter根據(jù)條件獲取數(shù)據(jù),最后只保留您想要使用的格式map。
您可以在下面閱讀有關(guān)這些的更多信息:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/fromEntries
var object = {
a: {prop1: 'abc', prop2: 'def', prop3: 'ghi'},
b: {prop1: 'jkl', prop2: 'mno', prop3: 'pqr'},
c: {prop1: 'abc', prop2: 'def', prop3: 'ghi'},
d: {prop1: 'abc', prop2: 123, prop3: 'ghi'}
};
var arr = Object.entries(object);
console.log(Object.fromEntries(arr.filter(a=>a[1].prop1==="abc"))); // Keeps your keys
console.log(arr.filter(a=>a[1].prop1==="abc").map(a1=>a1[1])) // Just array of objects
添加回答
舉報(bào)