1、数组中有些方法是改变原数组的:
push 是往数组的末尾添加数据,返回值是数组的长度,同时原数组会改变
语法:数组名.push(数据)
作用:在数组末尾添加数据
返回值:返回数组的长度
var arr=["zhangs","lisi","wanger","mazi"]
var res=arr.push("push")
console.log(arr) //['zhangs', 'lisi', 'wanger', 'mazi', 'push']
console.log(res) //5
pop 是删除数组最后一个元素,这次返回的可是被删除的元素数组,同时原数组改变
语法:数组名.pop()
作用:删除数组最后一项
返回值:返回被删除的那一项
var arr=["zhangs","lisi","wanger","mazi"]
var res=arr.pop()
console.log(arr) //['zhangs', 'lisi', 'wanger']
console.log(res) //"mazi"
unshift 是向数组开头添加一个或者多个的元素,返回值是数组的长度,同时原数组会改变
语法:数组名.unshift(数据)
作用:子啊数组最前面插入数据
返回值:返会数组长度
var arr=["zhangs","lisi","wanger","mazi"]
var res=arr.unshift('unshift','1111')
console.log(arr) //['unshift', '1111', 'zhangs', 'lisi', 'wanger', 'mazi']
console.log(res) //6
shift 是删除数组的第一个元素 并且返回被删除的元素 同时原数组改变
语法:数组名.shift()
作用:删除数组第一项
返回值:返回被删除的数据
var arr=["zhangs","lisi","wanger","mazi"]
var res=arr.shift()
console.log(arr) //['lisi', 'wanger', 'mazi']
console.log(res) //"zhangs"
splice 向数组中插入、删除或者替换元素
var arr = ['a','b','c'];
console.log(arr.splice(1,0)) //从下标1开始删除0个元素,返回的是个空数组
console.log(arr.splice(1,1)) // 从下标1开始删除一个元素,返回的是删除的元素 b
console.log(arr.splice(1,0,'hello','world')) // 从下标1开始删除0个元素,添加2个新的元素, //返回的是['a', 'hello', 'world', 'b', 'c']
reverse 将数组倒序(原数组改变)
let fruits = ['apple', 'banana', 'orange', 'mango'];
let reversedFruits = fruits.slice().reverse();
console.log(reversedFruits); // 输出:['mango', 'orange', 'banana', 'apple']
console.log(fruits); // 输出:['apple', 'banana', 'orange', 'mango']
sort 将数组进行升序排列 (只能是数字或者字母)
var arr = [2,5,4,1,3,6]
arr.sort((a,b)=>{ return a - b }) //升序
arr.sort((a,b)=>{ return b - a }) //降序
2、数组中有些方法是不改变原数组的:
Array.filter() 会新创建一个数组 将符合条件的值丢进去
Array.concat() 连接多个数组(拼接在一起) 返回一个新的数组
Array.slice() 对数组中的数据进行截取 放到一个新的数组里返回
Array.join() 将数组通过某个分隔符分割转换成字符串 返回的是一个字符串
Array.map() 对数组的每一项进行处理 返回到一个新的数组里
Array.every() 判断数组中的每一项是否符合规范,都符合返回一个true ,否则返回false
Array.some() 判断数组,如果其中有一项符合条件的话就返回true,都不符合返回false
Array.indexOf() 找索引,如果找到则返回相应的索引值,否则返回 -1