arr.indexOf()和arr.lastIndexOf()

数组的索引方法:

  1. arr.indexOf(a,b) ===> 从数组开头向后查找,使用全等操作符,找不到该元素返回-1。第一个参数为要查找的项,第二个参数(可选)为索引开始位置.
  2. arr.lastIndexOf(a,b) ===> 从数组末尾向前查找,使用全等操作符,找不到该元素返回-1。第一个参数为要查找的项,第二个参数(可选)为索引开始位置.
  3. 两者返回的是所要查找的项的索引或者-1、不改变原数组
  4. 封装一个自己的indexOf方法的函数
var arr = [3,4,5,7,9,6,3,5];
console.log('原数组:',arr); // 原数组:[3,4,5,7,9,6,3,5]
// console.log(arr.indexOf(13,2)); // -1 
// console.log(arr.indexOf(9,2)) // 4
// console.log(arr); // [3,4,5,7,9,6,3,5]

Array.prototype.myIndexOf = function(num,index){
    let result = -1
    for(var i=index;i<this.length;i++){
        if(this[i] === num){
            result = i
            break
        }
    }
    return result
}
console.log(arr.myIndexOf(13,2))
// console.log(arr.myIndexOf(9,2))
console.log(arr)
  1. 封装一个自己的lastIndexOf方法的函数
var arr = [3,4,5,7,9,6,3,5];
// console.log('原数组:',arr); // 原数组:[3,4,5,7,9,6,3,5]
/* console.log(arr.lastIndexOf(13,2)); // -1 
console.log(arr.lastIndexOf(9,-2)) // 4
console.log(arr.lastIndexOf(9,2)) // -1
console.log(arr); // [3,4,5,7,9,6,3,5] */

Array.prototype.myLastIndexOf = function(num,index){
    let result = -1
    if(index >= 0){
        for(var i=index;i>=0;i--){
            if(this[i] === num){
                result = i
                break
            }
        }
    }else{
        for(var i=index;i<this.length;i++){
            if(this[i] === num){
                result = i
                break
            }
        }
    }
    return result
}
console.log(arr.myLastIndexOf(13,2))
console.log(arr.myLastIndexOf(9,2))
console.log(arr.myLastIndexOf(9,-2))
console.log(arr)
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
请问以下操作分别是什么意思: 1. arr.sort() 2. arr.reverse() 3. arr.indexOf(5) 4. arr.lastIndexOf(5) 5. arr.join("-") 6. arr.slice(2, 6) 7. arr.splice(2, 4) 8. arr.push(100) 9. arr.pop() 10. arr.shift() 11. arr.unshift(200) 回答如下: 1. arr.sort()是对数组元素进行排序,默认按照字符编码进行排序。对于数字数组,需要传入比较函数进行排序,例如arr.sort((a, b) => a - b)可以按照升序排序数组。 2. arr.reverse()是将数组元素顺序反转。 3. arr.indexOf(5)是返回元素5在数组中第一次出现的索引位置,如果数组中不存在该元素则返回-1。 4. arr.lastIndexOf(5)是返回元素5在数组中最后一次出现的索引位置,如果数组中不存在该元素则返回-1。 5. arr.join("-")是将数组元素以指定的字符串连接起来,返回一个字符串。例如,arr.join("-")可以将数组[1, 2, 3]转换为字符串"1-2-3"。 6. arr.slice(2, 6)是返回一个从索引位置2开始,到索引位置6之前的子数组,不包括索引位置6对应的元素。例如,arr.slice(2, 6)可以返回数组[1, 1, 1, 3]。 7. arr.splice(2, 4)是删除数组中从索引位置2开始,长度为4的一段元素,并返回被删除的元素。例如,arr.splice(2, 4)可以删除数组中的[1, 1, 1, 3, 23],并返回被删除的元素。 8. arr.push(100)是将元素100添加到数组末尾。 9. arr.pop()是删除数组末尾的一个元素,并返回被删除的元素。 10. arr.shift()是删除数组开头的一个元素,并返回被删除的元素。 11. arr.unshift(200)是将元素200添加到数组开头。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值