国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

js數組常用的一些方法

wendux / 1474人閱讀

摘要:如果被引用的對象發生改變,則改變將反應到新的和原來的數組中對于字符串和數字來說不是和對象,會拷貝字符串和數字到新的數組里。在一個數組里修改這些字符串或數字,不會影響另一個數組。

(1) arr.length => 返回一個數組中的元素個數(數組屬性

var numbers = [1,2,3,4,5];
numbers.length; // 5

(2) arr.indexOf(searchElement[, fromIndex = 0]) => 返回給定元素在數組中的第一個索引值,否則返回-1

var array = [2, 5, 9];
array.indexOf(5);     // 1
array.indexOf(9, 2);  // 2
array.indexOf(2, -3); // 0

(3) arr.lastIndexOf(searchElement[, fromIndex = arr.length - 1]) => 返回指定元素在數組中最后出現位置的索引值,從 fromIndex 位置向前開始查找,如果不存在,則返回 -1

var arr = [2, 5, 9, 2];
arr.lastIndexOf(2);     // 3
arr.lastIndexOf(7);     // -1
arr.lastIndexOf(2, 3);  // 3
arr.lastIndexOf(2, 2);  // 0
arr.lastIndexOf(2, -2); //0

(4) arr.push(element1, ..., elementN) => 在數組的末尾添加一個或多個元素,并返回數組新的 length 值

var sports = ["soccer", "baseball"];
var total = sports.push("football", "swimming");

console.log(sports); // ["soccer", "baseball", "football", "swimming"]
console.log(total);  // 4

(5) arr. unshift(element1, ..., elementN) => 在數組的開頭添加一個或者多個元素,并返回數組新的 length 值

var sports = ["soccer", "baseball"];
var total = sports.unshift("football", "swimming");

console.log(sports); // ["football", "swimming", "soccer", "baseball"]
console.log(total);  // 4

(6) arr.pop() => 刪除數組中的最后的一個元素,并且返回這個元素

var myFish = ["angel", "clown", "mandarin", "surgeon"];
var popped = myFish.pop();

console.log(myFish); // ["angel", "clown", "mandarin"]
console.log(popped); // "surgeon"

(7) arr.shift() => 刪除數組中的第一個元素,并且返回這個元素

var myFish = ["angel", "clown", "mandarin", "surgeon"];
var shifted = myFish.shift();

console.log(myFish); // ["clown", "mandarin", "surgeon"]
console.log(shifted); // "angel"

(8) arr.concat(value1, value2, ..., valueN) => 將傳入的數組或值與原數組合并,組成一個新的數組并返回

var alpha = ["a", "b", "c"];
var numeric = [1, 2, 3];
var alphaNumeric = alpha.concat(numeric);        // 組成新數組 ["a", "b", "c", 1, 2, 3]; 原數組 alpha 和 numeric 未被修改
var alphaNumeric2 = alpha.concat(1,[2,3,[4,5]]); // 組成新數組 ["a", "b", "c", 1, 2, 3, [4,5]]

(9) arr.reverse() => 顛倒數組中元素的位置,并返回該數組的引用

var myArray = ["one", "two", "three"];
myArray.reverse(); 
console.log(myArray); // ["three", "two", "one"]

(10) array.splice(start, deleteCount[, item1[, item2[, ...]]]) => 用新元素替換舊元素,修改數組的內容;返回由被刪除的元素組成的數組

// start 從數組對哪一位開始修改內容
// deleteCount 整數,表示要移除的數組元素的個數
// itemN 要添加進數組的元素
var myFish = ["angel", "clown", "mandarin", "surgeon"];
myFish.splice(2, 0, "drum"); // []  "增"
console.log(myFish); // ["angel", "clown", "drum", "mandarin", "surgeon"]

myFish.splice(1,2); // ["clown", "drum"]   "刪"
console.log(myFish); // ["angel", "mandarin", "surgeon"]

myFish.splice(0, 2, "parrot", "anemone", "blue"); // ["angel", "mandarin"]   "改"
console.log(myFish); // ["parrot", "anemone", "blue", "surgeon"]

(11) arr.slice([begin[, end]]) => 把數組中的一部分淺拷貝,存入到一個新的數組中,并返回這個新數組

// 原數組的元素按照下述規則拷貝:
// 1.如果該元素是個對象引用(不是實際的對象),slice會拷貝這個對象引用到新的數組
//   里。兩個對象都引用了同一個對象。如果被引用的對象發生改變,則改變將反應到新的和
//   原來的數組中;
// 2.對于字符串和數字來說(不是String和Number對象),slice會拷貝字符串和數字到
//   新的數組里。在一個數組里修改這些字符串或數字,不會影響另一個數組。
// 如果向兩個數組任一中添加了新元素,則另一個不會受到影響

var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
fruits.slice(1,3); // ["Orange", "Lemon"]
console.log(fruits); // ["Banana", "Orange", "Lemon", "Apple", "Mango"]

// slice 方法可以用來將一個類數組(Array-like)對象/集合轉換成一個數組
function list() {
  return Array.prototype.slice.call(arguments);
  // 或者 return [].prototype.slice.call(arguments);
}
var list1 = list(1, 2, 3); // [1, 2, 3]

(12) arr.join([separator = ","]) => 將數組中的所有元素連接成一個字符串

var a = ["Wind", "Rain", "Fire"];
var myVar1 = a.join();      // myVar1的值變為"Wind,Rain,Fire"
var myVar2 = a.join(", ");  // myVar2的值變為"Wind, Rain, Fire"
var myVar3 = a.join(" + "); // myVar3的值變為"Wind + Rain + Fire"
var myVar4 = a.join("");    // myVar4的值變為"WindRainFire"

(13) arr.sort([compareFunction]) => 對數組的元素排序,并返回這個數組;默認按照字符串的Unicode碼位點(code point)排序

var fruit = ["cherries", "apples", "bananas"];
fruit.sort(); // ["apples", "bananas", "cherries"]

var scores = [1, 10, 2, 21]; 
scores.sort(); // [1, 10, 2, 21]

//對數字進行升序排序
function compareNumbers(a, b) {
  return a - b;
}
var numbers = [4, 20, 5, 12, 3];
numbers.sort(compareNumbers); // [3, 4, 5, 12, 20]

(14) array.forEach(callback[, thisArg]) => 讓數組的每一項都執行一次 callback 函數;thisArg 是可選參數,用來當作callback 函數內this值的對象。注:沒有辦法中止或者跳出forEach循環,除了拋出一個異常

//callback 函數傳三個參數:數組當前項的值、數組當前項的索引、數組對象本身
function logArrayElements(item, index, array) {
    console.log("a[" + index + "] = " + item);
}
[2, 5, 9].forEach(logArrayElements);
// a[0] = 2
// a[1] = 5
// a[2] = 9

(15) array.map(callback[, thisArg]) => 返回一個由原數組中的每個元素調用一個指定方法后的返回值組成的新數組

var numbers = [1, 4, 9];
var roots = numbers.map(Math.sqrt);
console.log(numbers); // [1, 4, 9]
console.log(roots); // [1, 2, 3]

(16) arr.reduce(callback,[initialValue]) => 接收一個callback函數作為累加器(accumulator),數組中的每個值(從左到右)開始合并,最終為一個值

// callback 函數傳四個參數:
//   @param previousValue 上一次調用回調返回的值,或者是提供的初始值(initialValue)
//   @param currentValue 數組中當前被處理的元素
//   @param index 當前元素在數組中的索引
//   @param array 調用 reduce 的數組

function accAdd(previousValue, currentValue, index, array){
  return previousValue + currentValue;
};
[0,1,2,3,4].reduce(accAdd); // 10 第一次調用時,previousValue = 0,currentValue = 1
[0,1,2,3,4].reduce(accAdd,10); // 20 第一次調用時,previousValue = 10,currentValue = 0

//eg.將數組所有項相加
var total = [0, 1, 2, 3].reduce(function(a, b) {
    return a + b;
});
console.log(total); // 6

//eg.數組扁平化
var flattened = [[0, 1], [2, 3], [4, 5]].reduce(function(a, b) {
    return a.concat(b);
});
console.log(flattened); // [0, 1, 2, 3, 4, 5]

(17) arr.every(callback[, thisArg]) => 測試數組的所有元素是否都通過了指定函數的測試

// callback 被調用時傳入三個參數:元素的值,元素的索引,被遍歷的數組
function isBigEnough(element, index, array) {
  return (element >= 10);
}
[12, 5, 8, 130, 44].every(isBigEnough);   // false
[12, 54, 18, 130, 44].every(isBigEnough); // true

(18) arr.some(callback[, thisArg]) => 測試數組中的某些元素是否通過了指定函數的測試

// callback 被調用時傳入三個參數:元素的值,元素的索引,被遍歷的數組
function isBigEnough(element, index, array) {
  return (element >= 10);
}
[2, 5, 8, 5, 4].some(isBigEnough);   // false
[2, 3, 4, 5, 11].some(isBigEnough); // true

(19) arr.filter(callback[, thisArg]) => 使用指定的函數測試所有元素,并創建一個包含所有通過測試的元素的新數組

function isBigEnough(element, index, array) {
  return element >= 10;
}
var filtered = [12, 5, 8, 130, 44].filter(isBigEnough);
// filtered is [12, 130, 44]

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/86324.html

相關文章

  • JS內置對象-Array數組對象一些常用方法區分

    摘要:語法添加刪除項目的位置要刪除的項目數量要添加的第一個元素第二個第三個返回值被刪除的項目,如果有的話其中,第二個參數如果設置為,則不會刪除任何項目。 第一篇篇幅太長了,自己回顧都覺得有點傷神。。以后盡量多篇少字~ 首先簡單介紹Array數組對象 什么是數組: 用單獨的變量名存儲一系列的值 如何創建數組:(有3種方法) 1、常規方式: var gyt=new Array(); gyt[0...

    zorro 評論0 收藏0
  • js數組一些常用方法

    摘要:數組取差循環數組取交集利用方法取交集循環判斷數組里的元素在里面有沒有,有的話就放入新建立的數組中數組去重去除數組的重復成員二維數組轉一維數組二維數組轉為一維數組 1、數組取差 //es6 arryMinus (arry1,arry2){ let a = new Set(arry1); let b = new Set(arry2); ...

    aervon 評論0 收藏0
  • js封裝一些常用方法

    摘要:整理自己常用的一些封裝方法數組按照指定長度拆分數組按指定長度拆分刪除數組中指定元素刪除數組中指定元素將小數指定到精確位置將小數字符串精確到指定位數字符串類型的小數精確到小數點第幾位根據微妙時間戳獲取年月日時分秒根據微妙時間戳獲取年月日時分秒 整理自己常用的一些封裝方法 1.數組按照指定長度拆分 // 數組按指定長度拆分 export function chunk (data, coun...

    senntyou 評論0 收藏0
  • js數組常用方法總結

    摘要:在為的位置,刪除個元素,插入刪了為的元素,替換為刪了為的元素數組的增刪改都可以用完成返回從原數組中指定開始下標到結束下標之間的項組成的新數組該方法不會改變原始數組。不傳值表示克隆了除了正常用法,經常用來將對象轉換為。 js 中數組的常用方法總結 arr.fill(a);//所有子元素 都改為 a; [{a: 1},{b: 2}, ...Array(8).fill({}, 0)] //...

    luckyw 評論0 收藏0
  • 深入了解JS數組常用方法

    摘要:數組作為一種重要的數據類型,除了基礎的幾個方法外,還有很多實用的方法也是我們的必備技能。原數組不會改變。詳細語法請參考讓每個人都干點啥方法對數組的每個元素執行一次提供的函數,該方法沒有返回值。 數組作為一種重要的數據類型,除了基礎的 pop、push、shift、unshift 幾個方法外,還有很多實用的方法也是我們的必備技能。 假設我們有一隊人,如下圖:showImg(https:/...

    ningwang 評論0 收藏0
  • 工作中常用es6+特性

    摘要:結合工作中使用情況,簡單對進行一些復習總結,包括常用的語法,等,以及短時間內要上手需要重點學習的知識點不同工作環境可能有一些差別,主要參考鏈接是阮一峰的博客以及外文博客阮老師大部分文章是直接翻譯的這個博客簡介先說一下,是一個標準化組織,他們 結合工作中使用情況,簡單對es6進行一些復習總結,包括常用的語法,api等,以及短時間內要上手需要重點學習的知識點(不同工作環境可能有一些差別),...

    xcold 評論0 收藏0

發表評論

0條評論

wendux

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<