У меня есть объект «ecom», который будет иметь свойство, являющееся одним из ['detail','add','remove','checkout','purchase']
Я хочу знать, какое из 5 потенциальных свойств имеет объект.
Каков самый короткий и чистый способ получить это?
Что вы пробовали? Любой код до сих пор?
your_array.filter(v => your_object[v] !== undefined)[0]
?
Вы можете использовать filter()
и hasOwnProperty()
let arr = ['detail','add','remove','checkout','purchase'];
let obj = {detail:'val',add:0,purchase:33}
let res = arr.filter(x => obj.hasOwnProperty(x));
console.info(res)
let arr = ['detail','add','remove','checkout','purchase'];
let obj = {detail:'val',add:0,purchase:33}
let res = arr.filter(function(x){
return obj.hasOwnProperty(x)
})
console.info(res)
Спасибо, это работает в моей консоли, за исключением того, что я работаю в среде (Диспетчер тегов Google), которая не работает со стрелкой =>
. Любая альтернатива?
Пожалуйста, опубликуйте то, что вы пробовали, но что не работает, чтобы у нас было конкретное представление о том, с каким препятствием вы сталкиваетесь.