arr1.indexOf(item) === index 是什么意思
时间: 2023-05-18 19:04:08 浏览: 87
这是一个 JavaScript 中用于判断数组中是否存在指定元素的方法,如果存在则返回该元素在数组中的索引值,否则返回 -1。其中,arr1 表示要进行判断的数组,item 表示要查找的元素,index 表示该元素在数组中的索引值。如果该元素在数组中的索引值等于 index,则表示该元素是第一次出现在数组中。
相关问题
arr.indexof
arr.indexOf方法用于在数组中查找指定元素,并返回其下标位置。如果找到匹配的元素,则返回元素的下标位置;如果没有找到匹配的元素,则返回-1。这个方法区分大小写,所以对于字符串而言,要确保大小写一致才能正确匹配。
例如,在数组arr中,如果要查找元素'orange',则arr.indexOf('orange')会返回0,表示该元素在数组中的下标位置是0。如果要查找元素'o',则arr.indexOf('o')会返回-1,表示没有找到该元素。同样地,对于数字元素,比如在数组arr中查找元素2016,则arr.indexOf(2016)会返回-1,表示没有找到该元素。
需要注意的是,indexOf方法只返回第一个匹配的元素的下标位置。如果数组中存在多个相同的元素,只会返回第一个匹配的元素的下标位置。
而对于IE8及其以上的浏览器不支持数组的indexOf方法的问题,可以使用其他方法来解决,比如使用polyfill或者使用ES6的语法。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [Array 的 indexOf方法](https://blog.csdn.net/wdadadadada123/article/details/90702180)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* [ES5-数组API:arr.indexOf、arr.every(条件)、arr.some(条件)、arr.forEach()遍历、arr.map()、filter过滤...](https://blog.csdn.net/weixin_42931345/article/details/106080634)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
handerPersonList(list,result,type){ // 获取所有 收藏人员 数据Id let empIds = this.getPersonEmpId(this.latelyList); let arr = []; if(list && list.length > 0){ for(let item of list){ let obj = Object.assign({},item); obj.admin = util.combineName(item); obj.id = ''; obj.aId = ''; obj.bId = ''; obj.picSrc = item.picSrc || require('@/assets/common_images/person.jpg'); // 设置收藏 if(empIds.indexOf(obj.empId) > -1){ let latelyUser = this.latelyList.find(it=>it.empId == obj.empId); if(latelyUser){ obj.id = latelyUser.id; } obj.isCollect = true; } else{ obj.isCollect = false; } arr.push(obj); } } if(type && type == 'allUser'){ this.paginationuser.total = result.pageControllerInfo.totalRecordCount; this.$refs.userTable.bodyWrapper.scrollTop = 0; this.userdata = arr; }else{ this.orgPersonList = arr; this.pagination.total = result.pageControllerInfo.totalRecordCount; this.$refs.employeeTable.bodyWrapper.scrollTop = 0; } },
这段代码主要是用来处理收藏人员列表数据的。它接收三个参数,分别是 `list`,`result` 和 `type`。
首先,代码会使用 `getPersonEmpId` 函数获取所有收藏人员的 ID,然后对 `list` 数组进行遍历,对每个元素进行处理。处理后的每个元素会被添加一些属性,比如 `admin`,`id`,`aId`,`bId`,`picSrc` 和 `isCollect` 等。其中,`admin` 表示人员名称,`id` 表示收藏人员 ID,`aId` 和 `bId` 分别表示一级部门和二级部门的 ID,`picSrc` 表示人员头像,`isCollect` 表示人员是否被收藏。
如果 `empIds.indexOf(obj.empId) > -1`,则表示当前人员已被收藏。此时,代码会在 `latelyList` 中查找该人员并获取其 ID,然后将该 ID 赋值给 `obj.id`。最后,设置 `obj.isCollect` 为 `true`。
如果 `empIds.indexOf(obj.empId) < 0`,则表示当前人员未被收藏。此时,代码会将 `obj.isCollect` 设置为 `false`。
最后,如果 `type` 的值为 `allUser`,则将处理后的数据赋值给 `this.userdata`,否则赋值给 `this.orgPersonList`。