本篇文章帶給大家的內容是關於javascript中對數組的方法的總結(附代碼) ,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。
1.copyWithin() 方法 會改變原數組
複製數組的前面兩個元素到後面兩個元素上:
array.copyWithin(target, start, end)
參數描述
target 必需。複製到指定目標索引位置。
start 可選。元素複製的起始位置。
end 可選。停止複製的索引位置 (預設為 array.length)。若為負值,表示倒數。
var arr = [1,2,3,4,5]; arr.copyWithin(3,0,2); console.log(arr); //1,2,3,1,2
2.every(function(){}) 不會改變原始數組
給數組的每一項都執行一個函數,如果每一項都回傳true,則回傳true;
var arr=[1,2,3,4,5]; var result=arr.every(function(item){ return item>1; }) console.log(result); //false
3.some(function(){}) 不會改變原始數組
給數組的每一項都執行一個函數,如果有一個回傳true,則回傳true;
var arr=[1,2,3,4,5] var result=arr.some(function(item){ return item>1; }) console.log(result) //true
#
var arr=[1,2,3,4,5]; arr.fill("哈哈",0,3); console.log(arr); //[ '哈哈', '哈哈', '哈哈', 1, 2 ]
var ages = [22, 53, 16, 40]; var ar5=ages.filter(function(age){ return age>30; }) console.log(ar5) //[ 53, 40 ]
var num = [212, 537, 160, 401]; function odd(x){ return x%2; } var ar6=num.find(odd); console.log(ar6); //537
var num = [212, 537, 160, 401]; function odd(x){ return x%2; } console.log(num.findIndex(odd)); //1
var num = [212, 537, 160, 401]; console.log(num.indexOf(160)); //2
var num = [212, 537, 160, 401]; console.log(num.indexOf(160)); //
var num = [212, 537, 160, 401]; console.log(num.join()); //212,537,160,401
var arr=[12,23,45,56,78]; var arr1=arr.map(function(x){ return x+1; }) console.log(arr1); //[ 13, 24, 46, 57, 79 ] console.log(arr); //[ 12, 23, 45, 56, 78 ]
var num=[ 212, 537, 160, 401 ]; num.forEach(function(num){ return num/2; }) console.log(num); //[ 212, 537, 160, 401 ]
var arr=[ 12, 23, 45, 56, 78 ]; var arr2=arr.reduce(function(total,item){ return total-item; }) console.log(arr2); //-190 console.log(arr); //[ 12, 23, 45, 56, 78 ]
var arr=[ 12, 23, 45, 56, 78 ]; var arr2=arr.reduceRight(function(total,item){ return total-item; }) console.log(arr2); //-58 console.log(arr); //[ 12, 23, 45, 56, 78 ]
var arr2=[2,8,45,12,5,67,9]; arr2.sort(function(a,b){ return a-b; }); console.log(arr2); //[ 2, 5, 8, 9, 12, 45, 67 ]
16.sort() 会改变原数组
对数组的元素进行排序,只能是一位数,如果是两位数会按字典序排列,改进:加一个回调函数
var arr2=[2,8,45,12,5,67,9]; arr2.sort(function(a,b){ return a-b; }); console.log(arr2); //[ 2, 5, 8, 9, 12, 45, 67 ]
17.reverse() 会改变原数组
反转数组的元素顺序
var arr2=[ 2, 5, 8, 9, 12, 45, 67 ]; arr2.reverse(); console.log(arr2); //[ 67, 45, 12, 9, 8, 5, 2 ]
18.valueOf() 不会改变原数组
返回数组对象的原始值,一般原样返回
var arr2=[ 67, 45, 12, 9, 8, 5, 2 ]; arr2.valueOf(); console.log(arr2); //[ 67, 45, 12, 9, 8, 5, 2 ] // 可以自己定义一个对象的valueOf()方法来覆盖它原来的方法。 // 这个方法不能含有参数,方法里必须return一个值。 var x = {}; x.valueOf = function(){ return 10; } console.log(x+1);// 输出10 console.log(x+"hello");//输出10hello
19.slice() 不会改变原数组
选取数组的的一部分,并返回一个新数组。
array.slice(start, end)
参数 描述
start 可选。规定从何处开始选取(包括)。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元 素,-2 指倒数第二个元素,以此类推。
end 可选。规定从何处结束选取(不包括)。该参数是数组片断结束处的数组下标。
如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。
如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。
var arr2=[ 67, 45, 12, 9, 8, 5, 2 ]; console.log(arr2.slice(1,4)); //[ 45, 12, 9 ] console.log(arr2); //[ 67, 45, 12, 9, 8, 5, 2 ]
20.splice() 会改变原始数组
方法用于插入、删除或替换数组的元素。
array.splice(index,howmany,item1,.....,itemX)
参数 描述
index 必需。规定从何处添加/删除元素。
该参数是开始插入和(或)删除的数组元素的下标,必须是数字。
howmany 必需。规定应该删除多少元素。必须是数字,但可以是 "0"。
如果未规定此参数,则删除从 index 开始到原数组结尾的所有元素。
item1, ..., itemX 可选。要添加到数组的新元素
arr3=[2,3,4,5,6,7,8]; //删除 arr3.splice(2,3); console.log(arr3); //[ 2, 3, 7, 8 ] //增加 arr3.splice(1,0,9,10); console.log(arr3); //[ 2, 9, 10, 3, 7, 8 ] //替换 arr3.splice(0,3,8,7,3); //[ 8, 7, 3, 3, 7, 8 ] console.log(arr3);
最后再小结一下:
会改变原数组的方法:copyWithin()、fill()、join()、pop()、push()、shift()、unshift()、sort()、reverse()、splice();
不会改变原数组的方法:every()、some()、filter()、find()、findIndex()、indexOf()、lastIndexOf()、map()、forEach()、reduce()、reduceRight()、valueOf()、slice();
相关推荐:
以上是javascript中對數組的方法的總結(附程式碼)的詳細內容。更多資訊請關注PHP中文網其他相關文章!