JS查找字符串,数组成员,对象属性是否存在的方法
一. JS字符串查找方法
1. indexOf(str)方法,返回指定字符第一次出现位置的下标,如果查找不到则返回-1。查找字符串中是否存在指定字符串".":
let strs = "www.ccued.com";
console.log(strs.indexOf(".") > -1) // true2. indexOf(str,index)方法,从下标index处开始查找,返回指定字符第一次出现位置的下标,如果查找不到则返回-1。查找字符串中所有字符串".":
let strs = "www.ccued.com";
let inx = 0,pos = [];
while( inx > -1 ){
inx = strs.indexOf(".",inx+1);
inx > -1 ? pos.push(inx) : '';
}
console.log(pos.length > 0);//true3. 使用正则表达式,查找指定字符串,查到则返回结果对象,否则返回null。查找字符串中是否存在"ccued":
let strs = "www.ccued.com"; let result = strs.match(/ccued/); console.log(!!result); // true
二. JS字数组成员查找方法
1. indexOf(item) 方法,返回指定成员第一次出现位置的下标,如果查找不到则返回-1,注意,查找的成员不能是对象或数组。查找数组中是否存在2:
let arr = [1,2,3,4,5]; console.log(arr.indexOf(2)>-1); // true
2. some(callback)方法返回一个boolean,判断是否有元素符合条件,如果有一个元素符合条件则循环会终止。与之类似的有 filter(),map(),every(),forEach()等。查找数组中是否有5:
let arr = [1,2,3,4,5,4,3,2,1];
let res = arr.some(function(item){
return item == 5;
});
console.log(res); // true三. JS对象属性查找方法
1. hasOwnProperty(),查找对象是否存在指定属性。查找对象是否有"name"属性:
let obj = {name:"ccued",age:"2"};
console.log(obj.hasOwnProperty("name"));//true2. Object.keys(obj)方法,返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和使用 for...in 循环遍历该对象时返回的顺序一致。查找对象是否有"name"属性:
let obj = { name:"ccued", age:12, sex:"man" };
let keys= Object.keys(obj); // keys:["name", "age", "sex"]
console.log(keys.indexOf("name") > -1); // true四. for...in for...of while方法
最常见万能的循环遍历方法,略。
2018-08-27 10:35:43
3092
0
参与讨论