Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何过滤JS中对象具有属性tagId或keywordId的对象数组?_Javascript_Arrays_Ecmascript 6_Javascript Objects_Ecmascript 5 - Fatal编程技术网

Javascript 如何过滤JS中对象具有属性tagId或keywordId的对象数组?

Javascript 如何过滤JS中对象具有属性tagId或keywordId的对象数组?,javascript,arrays,ecmascript-6,javascript-objects,ecmascript-5,Javascript,Arrays,Ecmascript 6,Javascript Objects,Ecmascript 5,我有一个对象数组,我试图通过检查对象是否具有属性tagId或keywordId来过滤它。我考虑过这个问题,但不确定这是否正确 const filteredProducts = products.filter(product => product.tagId !== undefined || product.keywordId !== undefined) 是否有更好的方法来实现上述解释的结果并获得包含tagId或keywordid的过滤对象数组?您基本上是手动创建比较,这些比较已经作为对

我有一个对象数组,我试图通过检查对象是否具有属性tagId或keywordId来过滤它。我考虑过这个问题,但不确定这是否正确

const filteredProducts = products.filter(product => product.tagId !== undefined || product.keywordId !== undefined)

是否有更好的方法来实现上述解释的结果并获得包含tagId或keywordid的过滤对象数组?

您基本上是手动创建比较,这些比较已经作为对象原型中的
hasOwnProperty()
存在

const filteredProducts = 
     products.filter(product => product.hasOwnProperty('tagId') || product.product.hasOwnProperty('keywordId'))

//Or using `Array#some()`
const filteredProducts = 
     products.filter(product => ['tagId','keywordId']
                                  .some(prop => product.hasOwnProperty(prop)))

您可以对产品对象使用
hasOwnProperty
。 像这样的-

const filteredProducts=products.filter(product=>product.hasOwnProperty(“tagId”)| product.hasOwnProperty(“关键字id”))

是的,是打字错误。。。