-
字符串:主要新增了模板字符串
數組新增方法:
Array.from:將類數組或迭代對象轉換成數組
類數組和數組的相同點: 可以通過下標來訪問,並且可以通過.length來獲取類數組的元素個數 類數組和數組的區別: 類數組不能使用數組的各種api方法,數組沒有問題
如何將一個類數組轉換成數組?
-
第一種方法:通過ES6的Array.from(類數組)來轉換
-
第二種方法:通過Array.prototype.slice.call(類數組);
-
第三種方法: ...來轉換類數組
例如:var newArr=[...類數組名]
類數組通常有哪些呢:arguments,獲取的DOM組成的類數組
-
copywithin:方法淺復制數組的一部分到同一數組中的另一個位置,並返回它,不會改變原數組的長度
const array1 = ['a', 'b', 'c', 'd', 'e']; console.log(array1.copyWithin(0, 3, 4));
-
find():返回匹配的數組元素,沒有匹配的返回undefined
-
findIndex():返回匹配的數組元素下標,沒有匹配的就返回-1
-
fill(value,start,end) 填充數據
-
keys(), values(), entries()返回迭代器,必須通過for of來遍歷返回
例如: for(let [key,value] of arr.entries()) { console.log(`下標為${key},對應的值為${value}`) } 對象也有類似獲取values,keys,entries方法 Object.values():獲取對象的值(即value) Object.keys() :獲取對象的屬性(即key) Object.entries() 獲取對象的key和value var obj={ username:'張三', age:20, address:'北京' } 轉換成字符串拼接的形式: let url="http://www.badiu.com/" userinfo='張三'&age=20&address=北京 var str=""; Object.keys(obj).forEach((item,index)=>{ str+=`${item}=${obj[item]}&` })
-
includes():檢測數組中是否含有某一個值 有返回true,沒有返回false
-
indexOf() 檢測數組中是否有某一個值 有返回下標,沒有返回-1
var arr=[ {id:1001,name:'alice',code:1}, {id:1001,name:'alice',code:2}, {id:1001,name:'alice',code:11}, {id:1001,name:'alice',code:15} ] var statusArr=[0,1,2] arr.filter((item,index)=>{ var flag=false; return statusArr.includes(item.code) }) flat:數組扁平化 ES2019 數組扁平化概念:如何將多維數組轉換成一維數組的過程 方法: 1.toString() 2.flat轉換 例如: 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]