js随笔(一)

一、查看键值对中是否有指定的key:

  * ary.hasOwnProperty(key);obj.hasOwnProperty(key);

二、数组的深度拷贝:

  var ary2 = JSON.parse(JSON.stringify(ary1));

   // 利用JSON对象中的parsestringify,JOSN对象中的stringify可以把一个js对象序列化为一个JSON字符串,parse可以把JSON字符串反序列化为一个js对象,通过这两个方法,也可以实现对象的深复制。

  // 此方法适用于Oject的深度拷贝,因为Array属于Oject类型,所以也适用于此处;
  // 需要注意的是:作为Oject的深度拷贝时,要复制的function会直接消失,所以这个方法只能用在单纯只有数据的对象。

  或

  var a = [...b];

三、splice函数: 

  * splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。该方法会改变原始数组。

  使用语法:

  array.splice(index,howmany,element 1,element 2.......,element n)

  参数说明:

    * index:删除数组特定位的数据,其中index是数组的位数,若删除第2位的数据,index就应该是0。

    * howmany: 从删除位开始,往后要删除多少个元素,howmany=0 则不会删除。

    * element 1....element n: 在index位开始然后添加这些数据,并且将index位之后的数据向后挤。howmany=0不删除直接插入,howmany != 0删除后添加。

###################################
// 删除
var a1 = [1,2,3,4,5,6] a1.splice(1,1); [2] a1 (5) [1, 3, 4, 5, 6] ####################################

// howmany=0 不删除 a1.splice(1,0); [] a1 (5) [1, 3, 4, 5, 6] ####################################
// 指定位删除并插入 a1 (5) [1, 3, 4, 5, 6] a1.splice(1,1,7,8,9); [3] a1 (7) [1, 7, 8, 9, 4, 5, 6] ####################################
// howmany=0 不删除直接插入
a1
(7) [1, 7, 8, 9, 4, 5, 6] a1.splice(1,0,'a','b','c'); [] a1 (10) [1, "a", "b", "c", 7, 8, 9, 4, 5, 6]

  

原文地址:https://www.cnblogs.com/Lyh1997/p/9952110.html