javascript 杂记

  1. 数组杂记

1)数组的判断,使用Array.isArray()

var number = 1;
var arrays = [1, 2, 'number', null];

Array.isArray(number) // false
Array.isArray(arrays)    // true

2)一维数组的深拷贝

// for循环
function copy(arr1, arr2) {
    for (var i  = 0; i < arr1.length; i++) {
        arr2[i] = arr1[i]
     }
}

// slice
var arr1 = [1, 2, 3, 4];
var arr2 = arr1.slice(0);  // 为数组做个副本

// concat
var arr1 = [1, 2, 3, 4];
var arr2 = arr1.concat();

// 扩展运算符...
var arr1 = [1, 2, 3, 4];
var [ ...arr2 ]  = arr1;

3)多维数组的深拷贝

function deepCopy(array) {
    var copy = []
    for (var i = 0; i < array.length; i++) {
        if (array[i]  instanceof Array) {
            copy[i] = deepCopy(array[i])
         } else {
            copy = array[i]
         }
     }
     return copy;
}

4)数组去重

function distinct(array) {
    return [...new Set(array)]
}

var arr = [1, 1, 2, 3, 4, 4, 4];
distinct(arr) // [1, 2, 3, 4]

  1. 对象杂记

1)对象的深拷贝

// 扩展运算符...
var obj1 = {
    name: 'Tom',
    age: 10,
    gender: '男'
}
var { ...obj2 } = obj1;
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • title: javascript杂记date: 2017-05-21 14:34:25tags: javascr...
    Gary23阅读 420评论 0 0
  • 1 对象 (无序的数据集) 由若干个“键值对”(key-value)构成。 var a={name:xxx}...
    huangli93阅读 385评论 0 1
  • 基础篇NumPy的主要对象是同种元素的多维数组。这是一个所有的元素都是一种类型、通过一个正整数元组索引的元素表格(...
    oyan99阅读 5,293评论 0 18
  • 1 2 3 onblur 失去焦点onkeypress:某个键盘的键被按下或按住测试测试结果:keypress 键...
    从前慢pearl阅读 231评论 0 0
  • 存储函数 创建无参存储函数get_name,有返回值语法: 删除存储函数getName语法: 调用存储方式一,PL...
    _借东西的小人阅读 322评论 0 1

友情链接更多精彩内容