ES6的一些筆記(四)

數(shù)組Array類型

數(shù)組擴(kuò)展的方法之類方法


from(array):

from(array)可以將偽數(shù)組以及帶有Symbol.iterator這個(gè)函數(shù)的數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)化為真正的數(shù)組。

var object= {    
     "0" : "A",    
     "1" : "b",    
     "length" : 2
}
var arr = Array.from(object);
console.log(arr);   //  ["A","b"]

from(array,val=>...表達(dá)式):

并且可以通過第二個(gè)參數(shù)對(duì)要變成數(shù)組存儲(chǔ)的值進(jìn)行處理。

var object= {    
     "0" : "A",    
     "1" : "b",    
     "length" : 2
}
var arr = Array.from(object,x=>x+':值');
console.log(arr); // ["A:值", "b:值"]

Array.of(...)

( )中的參數(shù)用,隔開所返回的是一個(gè)新實(shí)例的數(shù)組

var arr = Array.of(1,3,5);
console.log(arr);

copyWithin(index,str,end)

index:要覆蓋的元素坐標(biāo)。
str:開始替換的起始坐標(biāo), 默認(rèn)值為0,如果為負(fù)數(shù),則為倒數(shù)
end:在哪個(gè)位置停止復(fù)制,默認(rèn)為數(shù)組長度,負(fù)數(shù)為倒數(shù),注意的是如果想在坐標(biāo)為4的地方停止那么這個(gè)值要寫5

var arr =  [1, 2, 3, 4, 5].copyWithin(0, 2 ,3);
console.log(arr);   // [3, 2, 3, 4, 5]
var arr =  [1, 2, 3, 4, 5].copyWithin(1, 2 ,5)
console.log(arr);   // [1, 3, 4, 5, 5]
var arr =  [1, 2, 3, 4, 5].copyWithin(2, 2 ,4)
console.log(arr);   // [1, 2, 3, 4, 5]
var arr =  [1, 2, 3, 4, 5].copyWithin(3, 2 ,3)
console.log(arr);  // [1, 2, 3, 3, 5]

數(shù)組擴(kuò)展的方法之實(shí)例方法


find(function(val, index,arr){})

找到第一個(gè)符合條件的元素,如果找不到返回undefined,傳入的函數(shù)中,有3個(gè)形參,分別是val遍歷的元素,index遍歷的下標(biāo),arr數(shù)組本身

// 第一個(gè)例子
var b = [1, 4, 33, 10].
find(function (val,index,arr) {    
  if(index == 1){        
    return val;    
  }
});
console.log(b);   // 4
// 第二個(gè)例子
var b = [1, 4, 33, 10].find((val,index,arr) => index!=0 && index%3 == 0);
console.log(b); // 10
findIndex(function(val, index,arr){})

find(function(val, index,arr){})不同的是這個(gè)方法找到的是第一個(gè)符合的元素下標(biāo)。其他參數(shù)一致

// 第一個(gè)例子
var b = [1, 4, 33, 10].findIndex(function (val,index,arr) {    
  if(val == 1){        
    return val;    
  }
});
console.log(b); // 0
// 第二個(gè)例子
var b = [1, 4, 33, 10].findIndex((val,index,arr) => val!=1);
console.log(b); // 1
fill(content,str,end)

填充數(shù)組元素的方法,content第一個(gè)參數(shù)是要填充的內(nèi)容,第二個(gè)參數(shù)str 是起始的下標(biāo),第三個(gè)參數(shù)end是結(jié)束的下標(biāo),第二個(gè)第三個(gè)參數(shù)都是可選的參數(shù)。

var b = [1, 4, 33, 10].fill("js");
console.log(b);    // ["js", "js", "js", "js"]
var b = [1, 4, 33, 10].fill("js",1);
console.log(b);    // [1, "js", "js", "js"]
var b = [1, 4, 33, 10].fill("js",1,3);
console.log(b);    // [1, "js", "js", 10]
keys()

返回ArrayIterator 數(shù)據(jù)類型可以遍歷所有內(nèi)容都是原先數(shù)組的key也就是下標(biāo)。

var b = [1,2].keys();
for (let index of b){    
  console.log(index);   // 0,1
}
console.log(b)  //   ArrayIterator 
values()

返回ArrayIterator 數(shù)據(jù)類型可以遍歷所有內(nèi)容都是原先數(shù)組的內(nèi)容(**不清楚為什么這個(gè)方法并不生效暫時(shí)轉(zhuǎn)換后的效果可能并不好暫時(shí)不要使用)

entries()

返回ArrayIterator 數(shù)據(jù)類型可以遍歷所有內(nèi)容都是原先數(shù)組的下標(biāo)和內(nèi)容的集合。

var b = ['j', 's'].entries();
for (let [index, val] of b) {    
  console.log(index, val); // [0,'j'],[1,'s']
}
console.log(b)   //  ArrayIterator
includes(val,index)

檢測(cè)數(shù)組中是否有這個(gè)內(nèi)容,第二個(gè)參數(shù)是從第幾個(gè)下標(biāo)開始進(jìn)行判斷。

var b = ['j','s'];
console.log(b.includes('j'))   // true
console.log(b.includes('s'))  // true
console.log(b.includes('j',0)) // true
console.log(b.includes('s',2)) // false
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Javascript有很多數(shù)組的方法,有的人有W3C的API,還可以去MDN上去找,但是我覺得API上說的不全,M...
    頑皮的雪狐七七閱讀 4,471評(píng)論 0 6
  • 背景 一年多以前我在知乎上答了有關(guān)LeetCode的問題, 分享了一些自己做題目的經(jīng)驗(yàn)。 張土汪:刷leetcod...
    土汪閱讀 12,890評(píng)論 0 33
  • 由于最近都在freecodecamp上刷代碼,運(yùn)用了很多JavaScript數(shù)組的方法,因此做了一份關(guān)于JavaS...
    2bc5f46e925b閱讀 2,161評(píng)論 0 16
  • 數(shù)組是一種可變的、可索引的數(shù)據(jù)集合。在Scala中用Array[T]的形式來表示Java中的數(shù)組形式 T[]。 v...
    時(shí)待吾閱讀 1,058評(píng)論 0 0
  • 時(shí)間篇: 合理的皮膚休息,可促進(jìn)皮膚細(xì)胞的分裂。一天當(dāng)中,皮膚新陳代謝最旺盛的時(shí)間是在晚上,特別是晚上10點(diǎn)左右到...
    張小蛙0113閱讀 202評(píng)論 0 1

友情鏈接更多精彩內(nèi)容