JS查找字符串,数组成员,对象属性是否存在的方法
一. JS字符串查找方法
1. indexOf(str)方法,返回指定字符第一次出现位置的下标,如果查找不到则返回-1。查找字符串中是否存在指定字符串".":
let strs = "www.ccued.com"; console.log(strs.indexOf(".") > -1) // true
2. 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);//true
3. 使用正则表达式,查找指定字符串,查到则返回结果对象,否则返回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"));//true
2. 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
3054
0
参与讨论