`
ch_kexin
  • 浏览: 899104 次
  • 性别: Icon_minigender_2
  • 来自: 青岛
社区版块
存档分类
最新评论

JS 数组克隆方法总结

 
阅读更多

ES5 方法总结

1.slice

let arr = [2,4,434,43]
let arr1= arr.slice()
arr[0] = 'a'
console.log(arr,arr1) // [ 2, 4, 434, 43 ]
console.log(arr1 === arr) // false

2. 遍历数组

复制代码
Array.prototype.clone = function(){
    let a=[];
    for(let i=0,l=this.length;i<l;i++) {
        a.push(this[i]);
    }
    return a;
}
let arr = ['aaa','bbb','ccc','wwwww','ddd']
let arr2 = arr.clone()
console.log(arr2)
console.log( arr2 === arr )
复制代码

3. concat()

复制代码
Array.prototype.clone=function(){ 
    return [].concat(this); 
    //或者 return this.concat();
}
let arr = ['aaa','asss']
let arr1 = arr.clone()
arr[0] = 123
console.log(arr,arr1)
复制代码

ES6 方法总结

1. Object.assign() 浅复制,也可以实现数组的克隆

let arr = ['sdsd',123,123,123]
let arr1 = []
Object.assign(arr1,arr)
arr[1] = 'aaaa'
console.log(arr,arr1) // [ 'sdsd', 'aaaa', 123, 123 ] [ 'sdsd', 123, 123, 123 ]

 2. 扩展运算符

const a1 = [1, 2];
// 写法一
const a2 = [...a1];
a1[0] = 'aaa'
console.log(a1,a2)
分享到:
评论

相关推荐

    js 数组克隆方法 小结

    然而,上述方法中的前两种方法——使用slice和concat方法,应该是解决数组克隆问题的最常见方式。 另外,需要注意的是,以上三种方法实现的都是数组的浅拷贝。所谓浅拷贝,是指创建了一个新的数组对象,但是数组中...

    javascript数组克隆简单实现方法

    总结来说,数组克隆在JavaScript中是一个很实用的功能,通过简单的`concat`和`slice`方法可以实现数组的浅拷贝。对于更复杂的深克隆需求,则需要借助其他技巧和方法来实现。不过,了解并掌握浅克隆的使用场景和限制...

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

    slice是JavaScript数组的一个方法,该方法可以创建一个新数组,这个新数组包含原数组中的某个范围的浅拷贝。slice方法不会改变原数组,而是返回一个新的数组对象。如果slice方法中的参数没有指定,则会默认从头到尾...

    js克隆对象、数组的常用方法介绍

    3. **原生JavaScript的数组克隆方法**: - `json.concat()`:这种方法创建一个新的数组,包含了原始数组的所有元素。它执行的是浅拷贝,如果数组中包含对象,那么新数组和旧数组将共享这些对象的引用。 - `json....

    JavaScript 克隆数组最简单的方法

    在JavaScript中,数组克隆是将一个数组复制成一个新的独立的数组,修改克隆后的数组不会影响原始数组。这是在处理复杂数据结构时非常重要的一个概念,特别是在涉及到深层拷贝和浅层拷贝的问题上。本文将深入探讨...

    JS数组的赋值介绍

    在JavaScript中,数组是一种特殊的对象,它用于存储一系列的数据,可以是任意类型。当我们涉及到数组的赋值时...了解这些概念对于正确地处理和操作JavaScript数组至关重要,尤其是在涉及到复杂的数据结构和函数操作时。

    words.js:JS数组中的一大堆英文单词

    此外,JavaScript还提供了`for...of`循环和`forEach()`方法遍历数组,`for...in`循环通常用于遍历对象的属性,但不适用于数组元素的遍历,因为数组索引是数字,而`for...in`遍历的是字符串属性。 在"words.js-...

    JavaScript中十种一步拷贝数组的方法实例详解

    总结而言,JavaScript中实现数组拷贝有多种方式,对于简单的应用或小型数据,浅拷贝足以满足需求。然而,当数据结构较为复杂时,如遇到多维数组或包含复杂对象的数组,可能需要采取深拷贝的策略。在实际开发中,选择...

    JavaScript浅层克隆与深度克隆示例详解

    总结一下,JavaScript 中的浅层克隆适用于只需要简单复制对象表面属性的情况,而深度克隆则适用于需要完全复制对象包括其所有嵌套引用类型的情况。在实际开发中,应根据具体需求选择合适的克隆方法,以避免不必要的...

    JS 数组随机洗牌的实例代码

    下面通过一段代码给大家介绍js 数组随机洗牌的方法,具体代码如下所示: //先定义一个某数值范围内的随机数 function getRandom(min, max) { return Math.floor(Math.random() * (max - min + 1) + min) } // 克隆...

    array-helps:流行的Lodash库的数组方法的一个克隆

    流行的库的数组方法的克隆。 我出于某些原因决定编写此项目。 首先,我想开始熟悉使用Mocha和Chai进行的单元测试。 其次,我想挑战自我,完成一堆编码挑战,这似乎是一种很好的方法! 第三,我想更加熟悉Lodash。 ...

    JavaScript中concat复制数组方法浅析

    在 JavaScript 中,数组是一种引用类型的数据结构,这意味着当我们复制一个数组时,实际上复制的是引用,而不是数组内容本身。 为了复制数组,通常可以使用以下方法: - 直接赋值:这种做法会使得两个变量指向同一...

    克隆javascript对象的三个方法小结

    这里我们将详细讨论三种克隆JavaScript对象的方法。 ### 方法一:递归深度复制 ```javascript function clone(obj) { var o; switch (typeof obj) { case 'undefined': break; case 'string': o = obj + '';...

    JS克隆,属性,数组,对象,函数实例分析

    总结来说,本文介绍了JavaScript中对象的克隆方法,展示了如何处理属性、数组、对象和函数。在实际开发中,理解如何正确地复制和管理对象是至关重要的,特别是在涉及数据交互和状态管理的场景下。通过使用浅层克隆,...

    javascript 数组学习资料收集

    下面我们将深入探讨JavaScript数组的一些关键知识点。 1. **创建数组**: - `new Array()` 创建一个空数组。 - `new Array(size)` 创建指定长度的数组,但数组的实际大小仍可变。 - `new Array(element0, ...

Global site tag (gtag.js) - Google Analytics