ES6常用数组方法
今天很高興,連續收到 眾安保險,阿里巴巴國際UED團隊 和 阿里口碑的邀請。太激動了,放一張自己兩年前的照片,壓壓驚~
接來寫幾個我平時在項目使用的最常用的幾個優化的方法~
1.數組去重
var arr = [1,2,3,4,3,4]; var arr2 = [...new Set(arr)];這個時候arr2就是去重后的數組~
2. 交換兩個變量的值
let [x,y] = [1,2];[y,x] = [x,y];console.log(y);3.獲取字符串中的某個字符
let arr= "hellomybo";console.log(arr[3]);4.使用箭頭函數代替回調函數
ES5的寫法
let a1 = [1,2,3].map(function (x) {return x * x;});ES6 箭頭函數寫法
let a2 = [1,2,3].map(x => x * x);console.log(a1,a2);5.合并數組
var arr1 = ['a', 'b'];var arr2 = ['c'];var arr3 = ['d', 'e'];// ES5的合并數組
arr1.concat(arr2, arr3);// [ 'a', 'b', 'c', 'd', 'e' ]// ES6的合并數組
[...arr1, ...arr2, ...arr3]// [ 'a', 'b', 'c', 'd', 'e' ]6.字符串反轉
let str = "12345678900987654321";原始寫法:
str.split('').reverse().join('')展開寫法:
[...str].reverse().join('')7.過濾需要的數值 和 獲得計算后的數值
過濾:
['a',,'b'].filter(x => true) // ['a','b']計算:
let arr = [1,2,3,4].map(x=>x+1);console.log(arr);8.數組降維 使用generator迭代器
var arr = [1, [[2, 3], 4], [5, 6]];var flat = function* (a) {var length = a.length;for (var i = 0; i < length; i++) {var item = a[i];if (typeof item !== 'number') {yield* flat(item);} else {yield item;}} };for (var f of flat(arr)) {console.log(f); }9.splice() 方法向/從數組中添加/刪除項目,然后返回被刪除的項目
var arr = new Array(6) arr[0] = "George" arr[1] = "John" arr[2] = "Thomas" arr[3] = "James" arr[4] = "Adrew" arr[5] = "Martin"document.write(arr + "<br />") arr.splice(2,1,"William") document.write(arr) 輸出: //George,John,Thomas,James,Adrew,Martin //George,John,William,James,Adrew,Martin10.置空數組
有時候我們需要清空數組,一個快捷的方法就是直接讓數組的 length 屬性為 0,就可以清空數組了。
11.將數組轉換為對象
有時候,出于某種目的,需要將數組轉化成對象,一個簡單快速的方法是就使用展開運算符號 ...:
12.用數據填充數組
在某些情況下,當咱們創建一個數組并希望用一些數據來填充它,這時 .fill()方法可以幫助咱們。
13.從數組中刪除虛值
在 JS 中,虛值有 false, 0,'', null, NaN, undefined。咱們可以 .filter() 方法來過濾這些虛值。
14.從數組中獲取隨機值
有時我們需要從數組中隨機選擇一個值。一種方便的方法是可以根據數組長度獲得一個隨機索引,如下所示
15.對數組中的所有值求和
JS 面試中也經常用 reduce 方法來巧妙的解決問題
總結
- 上一篇: 单行文字垂直居中,多行文字垂直居中
- 下一篇: 探探APP怎么发动态(你们觉得探探怎么样