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’]

 

  如今看看其實這三位長相相近的函數都是與數組有關的,不過各自的功能仍是有很大差別的~有了它們就方便咱們的數組操做了。

相關文章
相關標籤/搜索