数组查找是否存在某个值、对象查找某个属性、字符串中是否包含某个字符或字符串(整理篇)

一、数组

  1. array.indexOf
 let arr = ['1', '2', '3', '4'];
 let index = arr.indexOf('3');
 console.log(index);// 2

 2.array.includes(searchElement,[fromIndex])

fromIndex:从该索引处开始查找 searchElement。(非必填)

如果为负值,则按升序从 array.length + fromIndex 的索引开始搜索。默认为 0。

let numbers = [12, 5, 8, 130, 44];
let result = numbers.includes(8);//true
result = numbers.includes(118);// false
let numbers = [12, 5, 8, 130, 44];
let result = numbers.includes(8,[1]);console.log(result);//true
let result = numbers.includes(8,[3]);console.log(result);//false

3.array.find

// ---------- 元素是普通字面值 ----------
let numbers = [12, 5, 8, 130, 44];
let result = numbers.find(item => {
    return item > 8;
});// 12

// ---------- 元素是对象 ----------
let items = [
    {id: 1, name: 'something'},
    {id: 2, name: 'anything'},
    {id: 3, name: 'nothing'},
    {id: 4, name: 'anything'}
];
let item = items.find(item => {
    return item.id == 3;
});//{id: 3, name: "nothing"}

4.array.findIndex

返回数组中满足条件的第一个元素的索引(下标), 如果没有找到,返回-1

// ---------- 元素是普通字面值 ----------
let numbers = [12, 5, 8, 130, 44];
let result = numbers.findIndex(item => {
    return item > 8;
});// 0
// ---------- 元素是对象 ----------
let items = [
    {id: 1, name: 'something'},
    {id: 2, name: 'anything'},
    {id: 3, name: 'nothing'},
    {id: 4, name: 'anything'}
];
let index = items.findIndex(item => {
    return item.id == 3;
});// 2

5.some

find返回满足条件的第一项;some找到符合条件的项后返回布尔值

var arr = [{
    name: "小提莫",
    value: "0"
}, {
    name: "小鲁班",
    value: "1"
}]
var result_one = arr.some(function(item) {
    if (item.name == "小提莫") { 
        return true;  
    }
})
console.log(result_one );//true

6.$.inArray(searchElement, arr)

使用jquery的inArray方法,该方法返回元素在数组中的下标,如果不存在与数组中,那么返回-1

var arr=['aaa','bbb','ccc','ddd','eee'];
var a= $.inArray('bbb',arr);
console.log(a);//1

二、对象

1.Obj.hasOwnProperty('name')  是都包含name属性

let obj={name:"Lily",sex:"女"};
let  isHas=obj.hasOwnProperty("name"); 
console.log(isHas);//true

2.in关键字 是否有某个属性

var obj={name:"Lily",sex:"女"};
const hasName="name" in obj;
console.log(hasName);//true

三、字符串

1.indexOf

var str ="123";
console.log(str.indexOf("12")!=-1);//true

2.search()

var str="123";
console.log(str.search("23")!=-1);//true

3.match()

var str="123";
var reg=RegExp(/23/);
if(str.match(reg)){
console.log("包含");
}

4.test()

var str="123,345,567";
var reg=RegExp(/345/);
console.log(reg.test(str));//true

5.exec()

var str="123,345,678,99";
reg=RegExp(/345/)
if(reg.exec(str)){
console.log("包含");
}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值