4 回答

TA貢獻(xiàn)1777條經(jīng)驗 獲得超3個贊
您可以使用Object.keys和Array.filter
let myObj = {
foo0: 'test',
_foo1: 'test',
_foo2: 'test',
foo3: 'test',
};
let result = Object.keys(myObj).filter(v => v.startsWith("_"));
console.log(result);

TA貢獻(xiàn)1877條經(jīng)驗 獲得超6個贊
使用Object.keys帶filter,并檢查第一個字符是一個下劃線_:
let myObj = {
foo0: 'test',
_foo1: 'test',
_foo2: 'test',
foo3: 'test',
};
const res = Object.keys(myObj).filter(([c]) => c == "_");
console.log(res);

TA貢獻(xiàn)1865條經(jīng)驗 獲得超7個贊
替換您getSubscriptions()
的如下
function getSubscriptions(obj, cb) { let ret = Object.keys(myObj).filter(ele => ele.startsWith('_')) return cb(ret) }
Object.keys(yourObject):返回yourobject的鍵。
Array.filter(function):根據(jù)
truthy條件從數(shù)組返回過濾值String.startsWith:如果傳遞的字符串以('_')開頭,則返回true或false
添加回答
舉報