js中的indexOf()和findIndex的区别对比

AI 概述
indexOf和findIndex的区别: indexOf()主要是用于查找基本数据类型。例如:获取数组中某个元素的下标。 findIndex可用于查找复杂数据类型。例如:获取数组里对象的下标。 总结:indexOf()方法内部使用的是 全等运算符,如果复合数据类型例如数组里对象,全等运算符就会比较它们的内存地址,如果地址相同,等式才会成立...

indexOffindIndex的区别:

  • indexOf()主要是用于查找基本数据类型。例如:获取数组中某个元素的下标。
  • findIndex可用于查找复杂数据类型。例如:获取数组里对象的下标。

总结:indexOf()方法内部使用的是 全等运算符,如果复合数据类型例如数组里对象,全等运算符就会比较它们的内存地址,如果地址相同,等式才会成立。

因此,当遇到基本数据类型就使用indexOf查询在数组当中的下标。遇到复杂数据类型就用findIndex查询数组对象中的下标。

findIndex 数组对象去重:

let arr = [
  {a: 1, b:'g', c: false, d: "355"},
  {a: 2, b:'s', c: true, d: "854"},
  {a: 3, b:'g', c: false, d: "685"},
  {a: 4, b:'e', c: false, d: "158"},
  {a: 5, b:'g', c: true, d: "444"},
]
let newArr= arr.filter((item,index,arr) =>{
    return arr.findIndex(e => e.b==item.b)==index;
});
console.log(newArr);

indexOf 数组去重:

const arr=[1,4,2,3,5,2,6,8,6,5];
let newArr=[];
arr.forEach((item,index) =>{
    if(arr.indexOf(item)==index){
        newArr.push(item);
    }
})
console.log(newArr); // [1, 4, 2, 3, 5, 6, 8]

以上关于js中的indexOf()和findIndex的区别对比的文章就介绍到这了,更多相关内容请搜索码云笔记以前的文章或继续浏览下面的相关文章,希望大家以后多多支持码云笔记。

「点点赞赏,手留余香」

1

给作者打赏,鼓励TA抓紧创作!

微信微信 支付宝支付宝

还没有人赞赏,快来当第一个赞赏的人吧!

声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 admin@mybj123.com 进行投诉反馈,一经查实,立即处理!
重要:如软件存在付费、会员、充值等,均属软件开发者或所属公司行为,与本站无关,网友需自行判断
码云笔记 » js中的indexOf()和findIndex的区别对比

发表回复