欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

js 數(shù)組克隆方法 小結(jié)

 更新時(shí)間:2010年03月20日 18:38:04   作者:  
在JS中,對(duì)于對(duì)象類型的變量的引用是通過(guò)類似C之類的“指針”的方式來(lái)操作的,及如果多個(gè)變量引用同一個(gè)對(duì)象,則任意一個(gè)變量對(duì)對(duì)象的操作都會(huì)影響到其它的變量。
因此如果要?jiǎng)?chuàng)建一個(gè)與已經(jīng)存在的對(duì)象內(nèi)容相同的對(duì)象,不能通過(guò)簡(jiǎn)單的賦值操作。這樣說(shuō)的可能還是不太明白。

看下面的例子:
復(fù)制代碼 代碼如下:

var a=[1,2,3,4]; var b=a;c=b; a.pop(); //移除最后一個(gè)元素 alert(b); //彈出1,2,3 alert(c); //彈出1,2,3
var a=[1,2,3,4]; var b=a;c=b; a.pop(); //移除最后一個(gè)元素 alert(b); //彈出1,2,3 alert(c); //彈出1,2,3

我們執(zhí)行上面的代碼發(fā)現(xiàn),在a的內(nèi)容做改變后,變量b和c的結(jié)果也改變了。

上面的情況也許不是我們所需要的,我們希望的是創(chuàng)建一個(gè)與原對(duì)象內(nèi)容一樣的“新”對(duì)象。這樣我們就需要通過(guò)一些克隆的辦法來(lái)實(shí)現(xiàn)。

JS里Array也是一種Object。這里我們主要總結(jié)一下Array的克隆方式,我們這里為Array原生對(duì)象擴(kuò)展一個(gè)clone方法。

1、最簡(jiǎn)單的辦法,就是創(chuàng)建一個(gè)新數(shù)組,并遍歷數(shù)組逐項(xiàng)添加到新數(shù)組中。
復(fù)制代碼 代碼如下:

Array.prototype.clone=function(){ var a=[]; for(var i=0,l=this.length;i<l;i++) a.push(this[i]); return a; }
Array.prototype.clone=function(){ var a=[]; for(var i=0,l=this.length;i<l;i++) a.push(this[i]); return a; }

這種實(shí)現(xiàn)方式是最容易想到也是最容易理解的,但是代碼有點(diǎn)復(fù)雜了,我們仔細(xì)研究Array的一些方法,其實(shí)還有一個(gè)很簡(jiǎn)單的辦法。下面說(shuō)一下其它的兩種辦法。

2、通過(guò)Array對(duì)象的slice方法。

slice方法是通過(guò)參數(shù)start和end的傳入值來(lái)返回?cái)?shù)組中的一段,該方法不對(duì)原數(shù)組進(jìn)行操作。我們通過(guò)slice(0)可以使其返回所有項(xiàng)。
復(fù)制代碼 代碼如下:

Array.prototype.clone=function(){ return this.slice(0); }
Array.prototype.clone=function(){ return this.slice(0); }

3、通過(guò)Array對(duì)象的concat方法。
concat方法是用來(lái)實(shí)現(xiàn)數(shù)組的合并的。通過(guò)和一個(gè)空函數(shù)的合并,即可實(shí)現(xiàn)我們的克隆功能。
復(fù)制代碼 代碼如下:

Array.prototype.clone=function(){ return [].concat(this); } //或者 Array.prototype.clone=function(){ return this.concat(); }
Array.prototype.clone=function(){ return [].concat(this); } //或者 Array.prototype.clone=function(){ return this.concat(); }

如果發(fā)揮想象應(yīng)該還有其它的辦法,以上只是本人想到的兩種方法。

JavaScript 克隆數(shù)組最簡(jiǎn)單的方法

JavaScript數(shù)組的快速克隆(slice()函數(shù))和數(shù)組的排序、亂序和搜索(sort()函數(shù))

相關(guān)文章

  • JavaScript限定范圍拖拽及自定義滾動(dòng)條應(yīng)用(3)

    JavaScript限定范圍拖拽及自定義滾動(dòng)條應(yīng)用(3)

    這篇文章主要介紹了JavaScript限定范圍拖拽及自定義滾動(dòng)條應(yīng)用的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • 微信小程序js時(shí)間戳與日期格式的轉(zhuǎn)換方法

    微信小程序js時(shí)間戳與日期格式的轉(zhuǎn)換方法

    這篇文章主要給大家介紹了關(guān)于微信小程序js時(shí)間戳與日期格式的轉(zhuǎn)換方法,在小程序中使用時(shí)間選擇器時(shí),獲取到的時(shí)間可能是一個(gè)時(shí)間戳,這并不是我們想要的,這時(shí)候我們得將獲取到的時(shí)間戳進(jìn)行轉(zhuǎn)換,需要的朋友可以參考下
    2023-10-10
  • JavaScript使用正則表達(dá)式獲取全部分組內(nèi)容的方法示例

    JavaScript使用正則表達(dá)式獲取全部分組內(nèi)容的方法示例

    這篇文章主要介紹了JavaScript使用正則表達(dá)式獲取全部分組內(nèi)容的方法,結(jié)合實(shí)例形式分析了javascript正則匹配的相關(guān)操作技巧,需要的朋友可以參考下
    2017-01-01
  • JS實(shí)現(xiàn)可切換圖片的幻燈切換效果示例

    JS實(shí)現(xiàn)可切換圖片的幻燈切換效果示例

    這篇文章主要介紹了JS實(shí)現(xiàn)可切換圖片的幻燈切換效果,涉及javascript事件響應(yīng)及頁(yè)面元素屬性動(dòng)態(tài)操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2019-05-05
  • Bootstrap3 input輸入框插入glyphicon圖標(biāo)的方法

    Bootstrap3 input輸入框插入glyphicon圖標(biāo)的方法

    這篇文章主要介紹了Bootstrap3 input輸入框插入glyphicon圖標(biāo)的方法的相關(guān)資料,需要的朋友可以參考下
    2016-05-05
  • ES6中如何使用Set和WeakSet

    ES6中如何使用Set和WeakSet

    這篇文章主要為大家詳細(xì)介紹了ES6中如何使用Set和WeakSet的相關(guān)資料,感興趣的小伙伴們可以參考一下
    2016-03-03
  • JavaScript如何讓select選擇框可輸入和可下拉選擇

    JavaScript如何讓select選擇框可輸入和可下拉選擇

    我們知道一般select下拉框是只能選擇的,而有時(shí)我們會(huì)遇到下拉框中沒(méi)有要選擇的信息項(xiàng)或者下拉選項(xiàng)特別多時(shí),需要允許用戶輸入想要的內(nèi)容,這篇文章主要給大家介紹了關(guān)于JavaScript如何讓select選擇框可輸入和可下拉選擇的相關(guān)資料,需要的朋友可以參考下
    2023-10-10
  • js實(shí)現(xiàn)二級(jí)聯(lián)動(dòng)簡(jiǎn)單實(shí)例

    js實(shí)現(xiàn)二級(jí)聯(lián)動(dòng)簡(jiǎn)單實(shí)例

    這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)二級(jí)聯(lián)動(dòng)簡(jiǎn)單實(shí)例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-01-01
  • javascript typeof的用法與typeof運(yùn)算符介紹[詳細(xì)]

    javascript typeof的用法與typeof運(yùn)算符介紹[詳細(xì)]

    下面是對(duì)于typeof運(yùn)算符的詳細(xì)介紹跟typeof的一些用法,分析,學(xué)習(xí)typeof的朋友,看完了,這篇應(yīng)該能有所收獲。
    2008-10-10
  • axios基本入門用法教程

    axios基本入門用法教程

    之前當(dāng)vue更新到2.0之后,作者就宣告不再對(duì)vue-resource更新,而是推薦的axios,前一段時(shí)間用了一下,現(xiàn)在說(shuō)一下它的基本用法。文中介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-03-03

最新評(píng)論