数组常用函数
1. push: 加到后面,插入一个新数据到末尾位
2. unshift: 加到前面,插入一个新数据到开始位
数组最好的同类型的数据
var arr1 = ["a"]
console.log(arr1);
类型为你当前里面存储的数据类型 返回值为新的数组长度
console.log(arr1.push('s'));
console.log(arr1.unshift('d'));
某个商品的分类里面有对应的商品 矿泉水。他是按照销量进行排名 有一天 红牛的销量大于矿泉水 旺仔牛奶的销量小于矿泉水。现在需要将他们放在一个数组中 并且打印排名最后的商品
var shopType = ['怡宝矿泉水']
shopType.push('纯真牛奶');
shopType.push('乐虎');
console.log( shopType[shopType,length-1]);
var arr = new Array(40,50,60);
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 连接
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
原文地址:https://www.jb51.cc/wenti/3287622.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。