Fork me on GitHub

JS-判断 array/object中 是否存在某个元素/key(键)-存在性、枚举

介绍

本文主要介绍判断数组中是否存在某个元素、并返回所有满足条件的元素;判断数组中的Object中是否存在某个满足条件的元素、并返回所有满足条件的元素、判断数组中的Object中是否存在某个key(键);判断Object中是否存在某个满足条件的元素、判断Object中是否存在某个key(键)、返回Object中所有的key(键)

一、数组中元素为number、string

1. 判断数组中是否存在某个元素

例:arr=[1,2,3,4];

JS方法:
1
2
arr.indexOf(3) > -1; // true
arr.indexOf(9) > -1; // false

2. 判断数组中是否存在某个满足条件的元素,并返回所有满足条件的元素

例:筛选数组中的所有奇数:arr=[1, 2, 3, 4, 5, 6, 7, 8, 9];

JS方法:
1
2
const list = arr.filter(item => item % 2 === 1);
console.log(list); // [ 1, 3, 5, 7, 9 ]

二、object

1. 判断Object中是否存在某个满足条件的元素

例:

1
obj = {name:'李四', sex:'男', age:22};
JS方法:
1
2
obj.name === '张三'; // true
obj.name === '王五'; // false

2. 判断Object中是否存在某个key(键)

例:

1
obj = {name:'张三', sex:'男'};
JS方法:
1
2
3
4
5
6
7
8
9
10
11
方法1
Object.hasOwnProperty.call(obj,'name'); // true
Object.hasOwnProperty.call(obj,'age'); // false

方法2
obj.hasOwnProperty('name'); // true
obj.hasOwnProperty('age'); // false

方法3
'name' in obj; // true
'age' in obj; // false

3.返回Object中所有的key(键)

例:

1
obj = {name:'张三', sex:'男'};
JS方法:
1
2
3
4
5
方法1
Object.getOwnPropertyNames(obj); // [ 'name', 'sex' ]

方法2
Object.keys(obj); // [ 'name', 'sex' ]

三、数组中元素为object

1. 判断数组中的Object中是否存在某个满足条件的元素

例:

1
2
3
4
arr = [
{name:'张三', sex:'男', age:11},
{name:'李四', sex:'男', age:22},
];
JS方法:
1
2
arr.some(item => item.name === '张三'); // true
arr.some(item => item.name === '王五'); // false

2. 判断数组中的Object中是否存在某个满足条件的元素,并返回所有满足条件的元素

例:

1
2
3
4
5
arr = [
{name:'张三', sex:'男', age:11},
{name:'李四', sex:'男', age:22},
{name:'王五', sex:'男', age:33},
];
JS方法:
1
2
const list = arr.filter(item => item.age === 11);
console.log(list); // [{ name: '张三', sex: '男', age: 11 },{ name: '王五', sex: '男', age: 11 }]

3. 判断数组中的Object中是否存在某个key(键)

例:

1
2
3
4
5
arr = [
{name:'张三', sex:'男'},
{name:'李四', sex:'男'},
{name:'王五', sex:'男'},
];
JS方法:
1
2
3
4
5
6
7
8
9
10
11
方法1
arr.some(item=>Object.hasOwnProperty.call(item,'name')); // true
arr.some(item=>Object.hasOwnProperty.call(item,'age')); // false

方法2
arr.some(item=>item.hasOwnProperty('name')); // true
arr.some(item=>item.hasOwnProperty('age')); // false

方法3
arr.some(item=>'name' in item); // true
arr.some(item=>'age' in item); // false
------------- The End -------------

本文标题:JS-判断 array/object中 是否存在某个元素/key(键)-存在性、枚举

文章作者:White

发布时间:2022年01月01日 - 19:01

最后更新:2022年01月12日 - 16:01

原始链接:http://yoursite.com/2022/01/01/JS-array-include/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。