es5 es6经常使用 JS中slice,splice,split的区别

对es5和es6进行概括总结,不会的记下来。html

object 对象方法:
Object.assign(target,...sources)//将一个或多个源对象的可枚举属性复制到目标对象中,return(target)
target:目标对象,sources:源对象
参考https://www.cnblogs.com/heiye168/p/5689006.htmles6

数组方法map:
map()方法返回一个由原数组中每一个元素调用一个指定方法后的返回值组成的新数组
arr.map(funtion(){return()})canvas

canvas:https://www.yuque.com/airing/canvas/readme数组

 

flat() 方法会递归到指定深度将全部子数组链接,并返回一个新数组。dom

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

var arr2 = [1, 2, [3, 4, [5, 6]]];
arr2.flat();
// [1, 2, 3, 4, [5, 6]]

var arr3 = [1, 2, [3, 4, [5, 6]]];
arr3.flat(2);
// [1, 2, 3, 4, 5, 6]

//Infinity展开全部嵌套数组
arr3.flat(Infinity); 
// [1, 2, 3, 4, 5, 6]

 

 Object.keys 返回一个全部元素为字符串的数组,其元素来自于从给定的object上面可直接枚举的属性。这些属性的顺序与手动遍历该对象属性时的一致。函数

// simple array
var arr = ['a', 'b', 'c'];
console.log(Object.keys(arr)); // console: ['0', '1', '2']

// array like object
var obj = { 0: 'a', 1: 'b', 2: 'c' };
console.log(Object.keys(obj)); // console: ['0', '1', '2']

// array like object with random key ordering
var anObj = { 100: 'a', 2: 'b', 7: 'c' };
console.log(Object.keys(anObj)); // console: ['2', '7', '100']

// getFoo is a property which isn't enumerable
var myObj = Object.create({}, {
  getFoo: {
    value: function () { return this.foo; }
  } 
});
myObj.foo = 1;
console.log(Object.keys(myObj)); // console: ['foo']

 

         不知道你们对slice,splice,splite是肿么样的感受,反正我刚接触到这三个函数的时候整我的都懵了,由于一个个长的跟孪生兄弟似的,每次用的时候都会混,因而决定记下来,也给你们当个参考吧。post

  1. slice  :

    定义:接收一个或两个参数,它能够建立一个由当前数组中的一项或多项组成的新数组,注意是新数组哦~ 也就是说它不会修改原来数组的值。 this

     用法:slice( para1 ),会截取从para1开始的到原数组最后的部分;url

        slice(para1,para2)会截取原数组的从para1开始的para2-para1个数组。 es5

     注意:当两个参数中存在负数时,用原数组的长度加上两个负数的参数做为相应的参数来计算。

 

  2.  splice  :

       定义:强大的数组操做方法

用法 : splice( para1,para2 ) : 删除数组中任意数量的项,从para1开始的para2项。注意的是用splice删除数组中的值会直接将某几项从数组中彻底删除,会致使数组length值的改变,这与delete的删除置为undefined是不同的。

 splice( para1,para2,val1,val2… ):项数组中添加和删除项,para1表示能够添加的项数,para2表示删除的项数,后面的变量表示要添加的项的值,注 意是从para1以后开始删除和添加的。

    注意 : 参数为负数的问题,若是para1为负数,则会加上数组的长度做为para1的值,而para2为负数或0的话不会执行删除操做。

 

  3.split : 根据特定的字符切割字符串而且返回生成的数组。

                   例如 : str = “s-aaa-sss-eee-www”;

                            targetArr = str.split(“-”);    //[‘s’,’aaa’,’sss’,’eee’,’www’]

 

  如今看看其实这三位长相相近的函数都是与数组有关的,不过各自的功能仍是有很大差别的~有了它们就方便咱们的数组操做了。

相关文章
相关标签/搜索