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

資訊專欄INFORMATION COLUMN

類數(shù)組轉(zhuǎn)換為數(shù)組的方法

JiaXinYi / 3375人閱讀

摘要:方法的內(nèi)部實現(xiàn)使用之后指向了類數(shù)組對象一個通用的轉(zhuǎn)換函數(shù)是中新增的方法,可以將兩類對象轉(zhuǎn)為真正的數(shù)組類數(shù)組對象和可遍歷對象包括新增的數(shù)據(jù)結(jié)構(gòu)和。

1、Array.prototype.slice.call()
這種方法是借用了數(shù)組原型中的slice方法,返回一個數(shù)組。slice方法的內(nèi)部實現(xiàn):

Array.prototype.slice = function(start,end){

  var result = new Array();  
  start = start || 0;  
  end = end || this.length; //使用call之后this指向了類數(shù)組對象
  for(var i = start; i < end; i++){  
       result.push(this[i]);  
  }  
  return result;  

}

一個通用的轉(zhuǎn)換函數(shù):

var toArray = function(s){

try{  
    return Array.prototype.slice.call(s);  
} catch(e){  
        var arr = [];  
        for(var i = 0,len = s.length; i < len; i++){   
             arr[i] = s[i];   
        }  
         return arr;  
} 

2、Array.from()
Array.from()是ES6中新增的方法,可以將兩類對象轉(zhuǎn)為真正的數(shù)組:類數(shù)組對象和可遍歷(iterable)對象(包括ES6新增的數(shù)據(jù)結(jié)構(gòu)Set和Map)。

var arrayLike = {

"0":"a",
"1":"b",
"2":"c",
length:3

};
var arr = Array.from(arrayLike);//["a","b","c"]
//把NodeList對象轉(zhuǎn)換為數(shù)組,然后使用數(shù)組的forEach方法
var ps = document.querySelectorAll("p");
Array.from(ps).forEach(p){

console.log(p);

});
//轉(zhuǎn)換arguments對象為數(shù)組
function foo(){

var args = Array.from(arguments);
//...

}
//只要是部署了Iterator接口的數(shù)據(jù)結(jié)構(gòu),Array.from都能將其轉(zhuǎn)換為數(shù)組
Array.from("hello"); //["h","e","l","l","o"]

3、擴展運算符(…)
同樣是ES6中新增的內(nèi)容,擴展運算符(…)也可以將某些數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)為數(shù)組

//arguments對象的轉(zhuǎn)換
function foo(){

var args = [...arguments];

}
//NodeList對象的轉(zhuǎn)換
[...document.querySelectorAll("p")]

擴展運算符實際上調(diào)用的是遍歷器接口,如果一個對象沒有部署此接口就無法完成轉(zhuǎn)換

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/96106.html

相關(guān)文章

  • 數(shù)組對象轉(zhuǎn)換數(shù)組對象簡單理解

    摘要:將對象轉(zhuǎn)換為數(shù)組對象的限制不知道現(xiàn)在還是否需要考慮這一點之前的版本將實現(xiàn)為對象而非對象,對象不能直接調(diào)用方法,因此需要采取其他方式轉(zhuǎn)化。 關(guān)于類數(shù)組對象 JavaScript中有一些著名的類數(shù)組對象,它們看起來很像數(shù)組: 擁有l(wèi)ength屬性 元素按序保存在對象中,可以通過索引訪問 但實際和數(shù)組又不是一回事: 沒有數(shù)組的很多方法 也會有數(shù)組沒有的方法 (e.g. NodeLis...

    wayneli 評論0 收藏0
  • JavaScript數(shù)組

    摘要:與稀疏數(shù)組對立的為密集數(shù)組,密集數(shù)組的索引會被持續(xù)的創(chuàng)建,并且其元素的數(shù)量等于其長度。創(chuàng)建一個長度為的數(shù)組,并初始化了個元素使用構(gòu)造函數(shù)創(chuàng)建數(shù)組對象的時候,關(guān)鍵字是可以省略的。另外使用和刪除元素是影響數(shù)組的長度的。 說明:本文只總結(jié)了JavaScript數(shù)組在web端的行為,不包括NodeJs端的行為。本文不涉及類型化數(shù)組(TypedArray)的討論、總結(jié)。 一、什么是數(shù)組 數(shù)組的定...

    HtmlCssJs 評論0 收藏0
  • 第17部分_反射機制

    摘要:如果此對象表示非靜態(tài)上下文中聲明的內(nèi)部類,則形參類型作為第一個參數(shù)包括顯示封閉的實例。參數(shù)字段名返回此類中指定字段的對象拋出如果找不到帶有指定名稱的字段。 一、類的加載 1. 概述 當(dāng)程序要使用某個類時,如果該類還未被加載到內(nèi)存中,則系統(tǒng)會通過加載,連接,初始化三步來實現(xiàn)對這個類進(jìn)行初始化 2. 加載 就是指將class文件讀入內(nèi)存,并為之創(chuàng)建一個Class對象 任何類被使用時系統(tǒng)都...

    trilever 評論0 收藏0
  • 排名前16Java工具

    摘要:在中,工具類定義了一組公共方法,這篇文章將介紹中使用最頻繁及最通用的工具類。另外,工具類,根據(jù)阿里開發(fā)手冊,包名如果要使用不能帶,工具類命名為 在Java中,工具類定義了一組公共方法,這篇文章將介紹Java中使用最頻繁及最通用的Java工具類。以下工具類、方法按使用流行度排名,參考數(shù)據(jù)來源于Github上隨機選取的5萬個開源項目源碼。 一. org.apache.commons.io....

    android_c 評論0 收藏0
  • 干貨:排名前16Java工具

    摘要:在中,工具類定義了一組公共方法,這篇文章將介紹中使用最頻繁及最通用的工具類。另外,工具類,根據(jù)阿里開發(fā)手冊,包名如果要使用不能帶,工具類命名為。 showImg(https://segmentfault.com/img/remote/1460000015356958); 在Java中,工具類定義了一組公共方法,這篇文章將介紹Java中使用最頻繁及最通用的Java工具類。以下工具類、方法...

    nanchen2251 評論0 收藏0

發(fā)表評論

0條評論

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