数组中的常用函数

数组中的常用函数

数组常用函数

增加的方法 :
1、push 追加到后面 插入一个新的数据到末尾位置
2、unshift添加到前面 插入一个新的数据到开始位置
数组里面最好是同类型的数据
var arr1 = ['a']
console.log(arr1);
//里面的类型为你当前里面存储的数据类型 返回值为新的数组长度
console.log(arr1.push('b'));
console.log(arr1.unshift('c'));

某个商品的分类里面有对应的商品 矿泉水。他是按照销量进行排名 有一天 红牛的销量大于矿泉水 旺仔牛奶的销量小于矿泉水。现在需要将他们放在一个数组中 并且打印排名最后的商品

var shopType = ['矿泉水']
shopType.push('旺仔牛奶')
shopType.unshift('红牛')
console.log(shopType[shopType.length-1]);
删除的方法:
pop是删除最后一个 返回这个被删除的元素
shift是删除第一个 返回这个被删除的元素
var arr = new Array(10,20,30);
console.log(arr.pop());//打印删除的元素
console.log(arr);//打印数组
console.log(arr.shift());//打印删除的元素
console.log(arr)//打印数组

定义一个数组 接收一个数据

如果对应的输入的是1的话 删除第一个元素 打印删除的元素 再打印对应的数组

如果输入的是2的话 就添加需要用户输入添加的元素 追加到后面

如果输入的是3的话 就删除最后一个元素 打印删除的元素 再打印对应的数组

如果输入的是4的话 就添加需要用户输入添加的元素 追加元素到第一个

function fn(){
    var arr1 = ['hello','world','helloWorld']
    var userInput = prompt() //接收一个string类型的值
    switch(userInput){ //判断接收的数据为什么
        case '1'://数据为1
            var rmStr = arr1.shift()
            console.log(rmStr);
            break;
        case '2'://数据为2
            var inputAdd = prompt("请输入你要添加的内容")
            arr1.push(inputAdd)
            break
        case '3'://数据为3
            var rmStr = arr1.pop()
            console.log(rmStr);
            break
        case '4'://数据为4
            var inputAdd = prompt("请输入你要添加的内容")
            arr1.unshift(inputAdd)
            break
        default://都不是 打印输出出错并且调用函数
            console.log("输入出错");
            fn() 
    }
    console.log(arr1);
}
fn()
reverse 反转
将数组元素全倒过来 会影响之前的数组 没有参数 返回值为倒转过来的数组
var arr = ['a','b','c','d']
var strArr = arr.reverse() //反转 将数组元素全倒过来 
console.log(strArr);
// strArr 和 arr俩个其实指向的是一个变量 所以操作 strArr会影响arr 操作arr也会影响strArr
console.log(strArr == arr); //true
console.log(strArr === arr); //true
console.log(arr);
sort 排序
sort 方法默认(无参的方式)按照ascii码进行比较 对应的顺序为从小到大 返回值为排序好的数组
里面可以指定参数 参数是一个function 这个里面有俩个参数 a b 如果是返回为 a-b 为1 就是正序 相反如果返回 b-a 就是-1 那就是倒序
var arr1 = [15,70,3,6,8,7]
arr1.sort() //排序 重点
console.log(arr1);
指定比较的方法进行比较
arr1.sort(function(a, b) {
	return a - b //返回的是1 1就是正序 a-b -1就是倒序 b-a
})
console.log(arr1);
var numArr = arr1.sort(function(a, b) {
	return b - a //返回的是1 1就是正序 a-b -1就是倒序 b-a
})
console.log(arr1);
console.log(numArr);
concat 合并
进行数组合并操作 对应的返回值为一个新的数组 不改变原本的数组
传入的参数 是一个数组 也可以是单个元素 连接到后面
var arr = [1,2,3,4]
var arr1 = [4,5,6,7]
//连接方法
var newArr =  arr.concat(arr1)
console.log(arr);// 还是 1 2 3 4
console.log(newArr);
var newArr1 = arr.concat(3)
console.log(newArr1);
slice 截取
截取方法 slice截取对应数组的某一段内容组成一个新的数组 返回的是一个新的数组
不会改变原本的数组 参数为开始下标和结束下标(不包含结束的下标)
var arr1 = [4,5,6,7]
var sliceArr = arr1.slice(1,3)
console.log(sliceArr);//5 6
console.log(arr1.slice(0,1));//4
console.log(sliceArr.slice(0,1));//5
console.log(arr1.slice(arr1.length-1,arr1.length));//截取最后一个
join 连接
join连接 连接成字符串 返回值为string
不会影响原本的数组
var arr = [1,2,3]
var str  = arr.join() //相当于全部连一块 默认以,分割 arr.join() == arr.join(',')
console.log(str);
var str1 = arr.join("/") 
console.log(str1);
splice 删除
会改变之前的数组 返回的是一个删除的数组
如果是1个参数 那么就是从这个指定的参数下标删到结束
如果是2个参数 那么就是从指定的参数下标位置 删对应的指定个数
如果是3个参数 或者以上的参数 那么就是从指定的参数下标位置 删对应的指定个数 再将后面的数据填入对应的删除位置
如果第二个参数为0 那么返回的是一个空数组 不删除 单纯的将对应的数据插入到指定的下标
删除 开始下标 删除的个数(个数可以被省略 删到最后)
var arr = [1,2,3,4]
var newArr = arr.splice(0,2)// 1 2
console.log(newArr); // 1 2
console.log(arr); // 3 4
var arr1 =  [5,6,7,8]
var spliceArr = arr1.splice(1) //从下标1开始删除 删到最后
console.log(spliceArr); // 6 7 8
console.log(arr1);//5
将删除位置的数据替换
var arr2 = [6,7,8,9]
var spliceArr1 = arr2.splice(1,2,10,11)// 删除7 8 将 10和11放到7 8的位置
console.log(spliceArr1); // 7 8
console.log(arr2); // 6 10 11 9
不删除 插入元素到指定的位置
var arr3 = [1,2,3]
var insertArr = arr3.splice(1,0,'a') //不删除元素 插入a到数组中去
console.log(insertArr); //空数组 
console.log(arr3); //插入到指定的位置 1 a 2 3
indexOf 正序查找下标
根据对应的值找下标 找到了返回对应第一次出现的下标 找不到返回-1
var arr = ['a','b','c','b']
console.log(arr.indexOf('b'));//indexOf找的是第一次出现的位置 默认从下标0开始找 没有找到返回-1
console.log(arr.indexOf('b',0));//1
console.log(arr.indexOf('b',2));//从下标1开始找 下标还是原本的下标
var arr1 =  [1,1,2,3,4,1]
console.log(arr1.indexOf(1));//0
console.log(arr1.indexOf(1,2));//5
console.log(arr1.indexOf(1,10));//-1
lastIndexOf 反序查找下标
从后往前 根据对应的值找下标 找到了返回对应第一次出现的下标 找不到返回-1
console.log(arr1.lastIndexOf(1));//5
console.log(arr1.lastIndexOf(1,2));//1
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值