您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關javascript數組里的方法有哪些,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
concat() 方法用于連接兩個或多個數組。方法不會更改現有數組,而是返回一個新數組,其中包含已連接數組的值。
var str1 = [1,2,3,4,5,6] var str2 = ['a','b','c','d','e'] console.log(str1.concat(str2));// [1, 2, 3, 4, 5, 6, 'a', 'b', 'c', 'd', 'e']
copyWithin() 復制數組的一部分數據覆蓋到數組的另一個位置。會修改數組,但是不會修改數組的長度。
var str1 = [1,2,3,4,5,6] // 從索引為0開始復制,到索引1結束(不包括結束位置),替換到索引為2的位置, console.log(str1.copyWithin(2,0,1)); //[1, 2, 1, 4, 5, 6] // 因為省略一個參數,所以從索引為3位置后的所有元素,從索引為1開始復制替換 console.log(str1.copyWithin(1,3)); //[1, 4, 5, 6, 5, 6]
返回一個數組,其元素是與直接在object上找到的可枚舉屬性鍵值對相對應的數組
var str3 = { 100: 'a', 2: 'b', 7: 'c' }; console.log(Object.entries(str3)); //['2', 'b']['7', 'c']['100', 'a']
every()方法用來判斷數組的所有元素是否都滿足指定的條件。
var str1 = [1,2,3,4,5,6] // 創造一個函數來作為判斷條件 function checkAdult(value,index) { return value > 0; } // every() 方法用來判斷數組的所有元素是否都滿足指定的條件。 console.log(str1.every(checkAdult)); //true
fill()方法用來把數組所有元素替換成靜態元素
var str1 = [1,2,3,4,5,6] console.log(str1.fill(1)); //[1, 1, 1, 1, 1, 1]
它用于把Array的某些元素過濾掉,然后返回剩下的元素。
var str1 = [1,2,3,4,5,6] console.log(str1.filter(function(x){return x > 2})); //[3, 4, 5, 6]
find()返回數組中第一個通過測試的元素的值。
findIndex()返回數組中通過測試的第一個元素的索引。
var str1 = [1,2,3,4,5,6] console.log(str1.find(function(x){return x > 2})); //3 console.log(str1.findIndex(function(x){return x > 2})); //2
forEach()為每個數組元素都調用函數。
var str1 = [1,2,3,4,5,6] str1.forEach(x => console.log(x)); //依次輸出123456
以對象創建數組。
console.log(Array.from('string')); //['s', 't', 'r', 'i', 'n', 'g']
includes()檢查數組是否包含指定的元素。第二個參數可以指定從哪個位置開始檢測
var str1 = [1,2,3,4,5,6] console.log(str1.includes(2,0)); //true
indexOf()在數組中搜索元素并返回其索引。第二個參數可以指定從哪個位置開始搜索
lastIndexOf()在數組的末尾開始搜索元素并返回其索引。第二個參數可以指定從哪個位置開始搜索
var str1 = [1,2,3,4,5,6] console.log(str1.indexOf(2,0)); //1 console.log(str1.lastIndexOf(2,5)); //1
可以用來判斷是否為數組對象
var str1 = [1,2,3,4,5,6] console.log(Array.isArray(str1)); //true
將數組的所有元素連接成一個字符串。元素將由指定的分隔符分隔。默認分隔符是逗號 (,)。
var str2 = ['a','b','c','d','e'] const a = str2.join() console.log(a); //a,b,c,d,e const a = str2.join('') console.log(a); //abcde
返回一個數組,數組里的屬性是數組所對應的鍵
var str3 = { 100: 'a', 2: 'b', 7: 'c' }; console.log(Object.keys(str3)); //['2', '7', '100'] //字符串則返回索引 console.log(Object.keys("string")); //['0', '1', '2', '3', '4', '5']
為每個數組元素調用函數的結果來創建新數組。
var str1 = [1,2,3,4,5,6] const a = str1.map(item => item * 10) console.log(a); // [10, 20, 30, 40, 50, 60]
刪除數組的最后一個元素,并返回該元素。方法會改變數組的長度。
var str1 = [1,2,3,4,5,6] console.log(str1.pop(), str1); // 6 , [1, 2, 3, 4, 5]
將新元素添加到數組的末尾,并返回新的長度。方法會改變數組的長度。
var str1 = [1,2,3,4,5,6] console.log(str1.push(7), str1); // 7 , [1, 2, 3, 4, 5, 6, 7]
reduce()執行順序是從左到右 reduceRight()執行順序是從右到左
為數組中的每一個元素依次執行回調函數,一般用于累加器。
有四個參數,第一個為初始值, 或者計算結束后的返回值。第二個為當前元素。第三個為當前元素的索引。第四個為當前元素所屬的數組對象。
initiavalue:當數組為空時,可以設置傳遞給函數的初始值,放在對象的后面
var str1 = [1,2,3,4,5,6] // 累加器的使用 console.log(str1.reduce(function(total,num,index,add){return total+num}));// 21 //initiavalue的使用 var arr=[] console.log(arr.reduce(function(total){return total},0)); //0
反轉數組中元素的順序。
var str1 = [1,2,3,4,5,6] console.log(str1.reverse()); // [6, 5, 4, 3, 2, 1]
刪除數組的第一個元素,并返回該元素。
var str1 = [1,2,3,4,5,6] console.log(str1.shift(),str1); // 1 , [2, 3, 4, 5, 6]
選擇數組的一部分,并返回新數組。
var str1 = [1,2,3,4,5,6] // 兩個參數 從索引為1開始到索引為3結束,不包括結束位置,形成新數組 console.log(str1.slice(1,3)); // [2, 3] // 一個參數 表示從索引為1開始的所有元素形成一個新數組 console.log(str1.slice(1)); // [2, 3, 4, 5, 6]
檢查數組中的任何元素是否通過測試。和every()差不多
some如果遇到 true 就不在執行了。 如果都為 false 返回false。 不會改變原數組
var str1 = [1,2,3,4,5,6] function some(item,index,array){ return item>5 } console.log(str1.some(some)); //true function some(item,index,array){ return item>7 } console.log(str1.some(some)); //false
srot()如果不帶參數,是將按字母順序對數組中的元素進行排序,也就是是按照字符編碼的順序進行排序。
如果為number類型其實也不是按正常的從小到大排序,更像是根據元素的第一位數字的大小排序。
如果想正常進行從大到小 從小到大的排序。可以進行比較值的大小來實現。
從小到大,a-b的含義:a-b大于0,說明a大,則把a放在在后面。a-b小于0,說明b大,則b在后面。如果a-b等于0,則不變。 從大到小就是上面的相反,就不說了(不想寫了,程序員的美德就是偷懶)
至于為什么是a - b,b - a可以去看這篇文章http://www.5655pk.com/article/238275.htm
var arr1 = ['a', 'd', 'c', 'b']; arr.sort(); //['a', 'b', 'c', 'd'] var arr2 = [10, 5, 40, 25, 100, 1]; arr2.sort(); //[1, 10 ,100, 25, 40, 5] //從小到大的排序 var arr2 = [10, 5, 40, 25, 100, 1]; arr2.sort((a,b) => a-b) console.log(arr2); // [1, 5, 10, 25, 40, 100] //從大到小的排序 var arr2 = [10, 5, 40, 25, 100, 1]; arr2.sort((a,b) => b-a) console.log(arr2); // [100, 40, 25, 10, 5, 1]
從數組中添加/刪除元素。
var str1 = [1,2,3,4,5,6] // 刪除,從索引為1開始,刪除2個 console.log(str1.splice(1,2), str1); // [2, 3] , [1, 4, 5, 6] // 添加,從索引為1開始到索引為2開始替換為'0' console.log(str1.splice(1,2,'0','0'), str1); // [2, 3] , [1, '0', '0', 4, 5, 6]
將數組轉換為字符串,并返回結果。
var str1 = [1,2,3,4,5,6] console.log(str1.toString(), str1); // 1,2,3,4,5,6 [1, 2, 3, 4, 5, 6]
將新元素添加到數組的開頭,并返回新的數組長度值。
var str1 = [1,2,3,4,5,6] console.log(str1.unshift(0), str1); // 7 , [0, 1, 2, 3, 4, 5, 6]
valueOf() 方法返回其自身。
var str1 = [1,2,3,4,5,6] str1.push(7) console.log(str1.valueOf(),str1); // [1, 2, 3, 4, 5, 6, 7] , [1, 2, 3, 4, 5, 6, 7]
關于“javascript數組里的方法有哪些”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。