Javascript中克隆一个数组的实现代码

 更新时间:2013年12月06日 09:30:41   作者:  
这篇文章主要是对在Javascript中克隆一个数组的实现代码进行了介绍。需要的朋友可以过来参考下,希望对大家有所帮助

08年一家公司JS面试题,职位是javascript工程师(赴google)

面试官问我如何克隆一个数组,当时想了下js的Object没有clone方法,java的Object有。

那怎么得到一个新数组呢?

我当时回答:用一个loop将源数组元素依次push到新数组中。这是最简单的方法,但显然不是面试官想要的答案。

最后告知我:利用Array的slice方法。示例如下:

复制代码 代码如下:

var ary = [1,2,3];//源数组
var ary2 = ary.slice(0);//克隆一个新数组
console.log(ary2);

/*  改变ary2,不会影响到ary,说明的确是两个数组而非引用
 *  如果是两个引用,则改变其中任何一个都是对同一个数组操作
 */
ary2[0] = 10;
console.log(ary2);
console.log(ary);

相关文章

  • 基于JavaScript+HTML编写一个日期选择插件

    基于JavaScript+HTML编写一个日期选择插件

    在现代Web应用程序中,日期选择器是一个非常常见的组件,用户可以使用它来选择特定的日期,在本篇文章中,我们将使用JavaScript和HTML来创建一个简单但功能强大的日期选择插件,这个日期选择插件是比较考验Js基本功的,需要的朋友可以参考下
    2023-10-10
  • javascript:void(0)用法及常见问题分析

    javascript:void(0)用法及常见问题分析

    javascript:void(0) 在某些情况下会有浏览器不兼容的bug。下面我们先来看下javascript:void(0) 的基础介绍及用法,然后再来看使用它会出现什么问题,该怎么解决,感兴趣的朋友跟随小编一起看看吧
    2023-10-10
  • three.js 利用uv和ThreeBSP制作一个快递柜功能

    three.js 利用uv和ThreeBSP制作一个快递柜功能

    这篇文章主要介绍了three.js 利用uv和ThreeBSP制作一个快递柜,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • JavaScript数组去重的几种方法详谈

    JavaScript数组去重的几种方法详谈

    这篇文章给大家总结下JavaScript数组去重的几种方法,面试中也经常会遇到这个问题。文中给大家引申的还有合并数组并去重的方法,感兴趣的朋友跟随脚本之家小编一起学习吧
    2021-10-10
  • js性能优化之数组模式实例详解

    js性能优化之数组模式实例详解

    这篇文章主要为大家介绍了js性能优化之数组模式实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • js利用reduce方法让你的代码更加优雅

    js利用reduce方法让你的代码更加优雅

    一直以来都在函数式编程的大门之外徘徊,要入门的话首先得熟悉各种高阶函数,数组的reduce方法就是其中之一,这篇文章主要给大家介绍了关于js利用reduce方法让你的代码更加优雅的相关资料,需要的朋友可以参考下
    2021-08-08
  • 浅谈js图片前端预览之filereader和window.URL.createObjectURL

    浅谈js图片前端预览之filereader和window.URL.createObjectURL

    下面小编就为大家带来一篇浅谈js图片前端预览之filereader和window.URL.createObjectURL。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-06-06
  • 最简单纯JavaScript实现Tab标签页切换的方式(推荐)

    最简单纯JavaScript实现Tab标签页切换的方式(推荐)

    这篇文章主要介绍了最简单纯JavaScript实现Tab标签页切换的方式(推荐)的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-07-07
  • 小程序webView实现小程序内嵌H5页面的全过程

    小程序webView实现小程序内嵌H5页面的全过程

    在微信小程序中内嵌H5页面是一种常见的需求,因为H5页面具有灵活性和跨平台性,可以弥补小程序原生代码的不足,这篇文章主要给大家介绍了关于小程序webView实现小程序内嵌H5页面的相关资料,需要的朋友可以参考下
    2024-07-07
  • javascript实现的使用方向键控制光标在table单元格中切换

    javascript实现的使用方向键控制光标在table单元格中切换

    最近公司开发ERP项目,要求商品入库选择货架号时支持使用方向键快速选择,以提高入库效率。
    2010-11-11

最新评论