JavaScript 中 Object对象有没有快速查找对象中是否存在某个值的的方法,类似 Array的 arr.indexOf(value) !== -1
<!DOCTYPE html>
<html lang="en">
<head>
<script data-require="angularjs@1.5.5" data-semver="1.5.5" src="https://code.angularjs.org/1.5.5/angular.js"></script>
<meta charset="UTF-8">
<title>find in object</title>
</head>
<body>
<script>
var activities = [{
"act_name": "En promoci\u00f3n",
"product_ids": [41, 42]
}, {
"act_name": "En promoci\u00f3n",
"product_ids": [1]
}];
var product_id = 41;
// 如何用最短的JS代码来判断 product_id 是否是存在于 activities 任一一个的product_ids 中?
</script>
</body>
</html>
http://plnkr.co/edit/OZMKRgweqaGlDpUCM4B0?p=preview
--update--
看了评论,参考了stackoverflow,找到了一个稍稍拖鞋的方案
不太确定我理解是否正确,你是想找到数组里的对象的
product_ids
包含了指定product_id
的对象集合?那可以这么写:
修改:
鉴于你大概不在
ES6
环境下执行代码,对ES6
也没什么概念,我改一个ES5
版本: