4 回答

TA貢獻1794條經(jīng)驗 獲得超8個贊
您可以通過以下步驟執(zhí)行此操作:
使用獲取對象的所有條目
Object.entries()
使用
filter()
它并獲取所有key
以所需子字符串開頭的條目。用于
Object.fromEntries()
將條目轉(zhuǎn)換回對象。
這是代碼
const obj = {
data_a: 'a',
data_b: 'b',
user_a: 'a',
user_b: 'b'
};
const filterByKey = (obj, string) => Object.fromEntries(Object.entries(obj).filter(([k, v]) => k.startsWith(string)))
console.log(filterByKey(obj, "data"));
console.log(filterByKey(obj, "user"))

TA貢獻1824條經(jīng)驗 獲得超8個贊
您可以遍歷對象,獲取鍵,并使用indexOf函數(shù)對其進行分類,如下所示:
obj = {
data_a: 'a',
data_b: 'b',
user_a: 'a',
user_b: 'b'
};
let data_obj = {}, user_obj = {};
for (var key in obj) {
if (obj.hasOwnProperty(key)) {
if(key.indexOf('data_')==0)
data_obj[key]=obj[key];
else if(key.indexOf('user_')==0)
user_obj[key]=obj[key];
}
}
console.log(data_obj);
console.log(user_obj);

TA貢獻1878條經(jīng)驗 獲得超4個贊
您可以使用for ... in迭代對象的鍵,然后將它們及其值分組到新對象中:
const obj = {
data_a: 'a',
data_b: 'b',
user_a: 'a',
user_b: 'b'
};
const users = {};
const data = {};
for (const k in obj) {
if (obj.hasOwnProperty(k)) {
if (k.startsWith("user_")) {
users[k] = obj[k];
} else if (k.startsWith("data_")) {
data[k] = obj[k];
}
}
}
console.log(users);
console.log(data);
添加回答
舉報