Javascript中克隆一個(gè)數(shù)組的實(shí)現(xiàn)代碼
08年一家公司JS面試題,職位是javascript工程師(赴google)
面試官問我如何克隆一個(gè)數(shù)組,當(dāng)時(shí)想了下js的Object沒有clone方法,java的Object有。
那怎么得到一個(gè)新數(shù)組呢?
我當(dāng)時(shí)回答:用一個(gè)loop將源數(shù)組元素依次push到新數(shù)組中。這是最簡單的方法,但顯然不是面試官想要的答案。
最后告知我:利用Array的slice方法。示例如下:
var ary = [1,2,3];//源數(shù)組
var ary2 = ary.slice(0);//克隆一個(gè)新數(shù)組
console.log(ary2);
/* 改變ary2,不會影響到ary,說明的確是兩個(gè)數(shù)組而非引用
* 如果是兩個(gè)引用,則改變其中任何一個(gè)都是對同一個(gè)數(shù)組操作
*/
ary2[0] = 10;
console.log(ary2);
console.log(ary);
相關(guān)文章
基于JavaScript+HTML編寫一個(gè)日期選擇插件
在現(xiàn)代Web應(yīng)用程序中,日期選擇器是一個(gè)非常常見的組件,用戶可以使用它來選擇特定的日期,在本篇文章中,我們將使用JavaScript和HTML來創(chuàng)建一個(gè)簡單但功能強(qiáng)大的日期選擇插件,這個(gè)日期選擇插件是比較考驗(yàn)Js基本功的,需要的朋友可以參考下2023-10-10
three.js 利用uv和ThreeBSP制作一個(gè)快遞柜功能
這篇文章主要介紹了three.js 利用uv和ThreeBSP制作一個(gè)快遞柜,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08
js性能優(yōu)化之?dāng)?shù)組模式實(shí)例詳解
這篇文章主要為大家介紹了js性能優(yōu)化之?dāng)?shù)組模式實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10
淺談js圖片前端預(yù)覽之filereader和window.URL.createObjectURL
下面小編就為大家?guī)硪黄獪\談js圖片前端預(yù)覽之filereader和window.URL.createObjectURL。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-06-06
最簡單純JavaScript實(shí)現(xiàn)Tab標(biāo)簽頁切換的方式(推薦)
這篇文章主要介紹了最簡單純JavaScript實(shí)現(xiàn)Tab標(biāo)簽頁切換的方式(推薦)的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-07-07
小程序webView實(shí)現(xiàn)小程序內(nèi)嵌H5頁面的全過程
在微信小程序中內(nèi)嵌H5頁面是一種常見的需求,因?yàn)镠5頁面具有靈活性和跨平臺性,可以彌補(bǔ)小程序原生代碼的不足,這篇文章主要給大家介紹了關(guān)于小程序webView實(shí)現(xiàn)小程序內(nèi)嵌H5頁面的相關(guān)資料,需要的朋友可以參考下2024-07-07
javascript實(shí)現(xiàn)的使用方向鍵控制光標(biāo)在table單元格中切換
最近公司開發(fā)ERP項(xiàng)目,要求商品入庫選擇貨架號時(shí)支持使用方向鍵快速選擇,以提高入庫效率。2010-11-11

