数组常用方法
常用
push():向数组的末尾增加一项 返回值是数组的新长度
unshift():向数组开头增加一项 返回值是数组的新长度
pop():删除数组的末尾项 返回值是删除的数组项
shift():删除数组开头项 返回被删除的开头项目
.indexOf(item,start)
lastIndexOf(item,start) 返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜
splice(index,howmany,item1,…..,itemX) :删除数组中的任意项 返回值是被删除的数组项
slice(start,end):复制数组 返回值是复制到的新数组 写上数值之后 不包含被复制的最后一项
slice(start,end)数组复制
start 参数必须,规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置
end 参数不必须,规定从何处结束选取
返回值 返回一个新数组,不改变原数组
console.log([1,2,3,4].slice(1)) //返回[2,3,4]
console.log([1,2,3,4].slice(-1)) //返回[4]
splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。
如果从数组中删除了元素,则返回的是含有被删除的元素的数组。
示例代码:
var arr = [1,2,3,4,5]; //以下注释结果分别对数组arr进行操作 arr.splice(1); // arr:[1]; 返回值为数组[2,3,4,5] arr.splice(1, 2); // arr:[1, 4, 5]; 返回值为数组[2,3] arr.splice(1, 0, 'A'); // arr:[1, "A",2,3, 4, 5]; 未删除元素,返回值为空数组[] arr.splice(1, 2, 'A', 'B'); // arr:[1, "A", "B", 4, 5]; 返回值为数组:[2,3]
var arr = new Array("0","1","2","5","3","4","5");
console.log(arr.lastIndexOf("5")); //6
console.log(arr.lastIndexOf("5",4)); //3
---------------------
拼接:
concat():把一个数组和另一个数组拼接在一起 返回拼接好的数组 (可以用es6的 ...)
join():把数组中的每一项 按照指定的分隔符拼接成字符串
排序:
reverse():倒序数组 返回值倒序数组 原有数组改变
sort():根据匿名函数进行冒泡排序 b-a倒序 a-b升序
new
array.map(function(currentValue,index,arr), thisValue)
map() //方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
var numbers = [65, 44, 12, 4]; function multiplyArrayElement(num) { return num * document.getElementById("multiplyWith").value; } function myFunction() { document.getElementById("demo").innerHTML = numbers.map(multiplyArrayElement); }
find()函数用来查找目标元素,找到就返回该元素,找不到返回undefined。 //[1, 2, 3, 4].find((value, index, arr) => {})
findIndex()函数也是查找目标元素,找到就返回元素的位置,找不到就返回-1。
确定数组的所有成员是否满足指定的测试
every():一假即假
some():一真即真
filter(function(currentValue,index,arr), thisValue) es5方法 - 参数 function(currentValue,index,arr)参数必须(处理元素的方法) - 按照原始数组元素顺序依次处理元素。 不改变原数组 - 返回值 返回一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素
----reference--------------------------