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

参与讨论

选择你的头像