解析赋值
现假设有如下一个json数据
var jsonData = {
id: 42,
status: "OK",
data: [867, 5309]
};
结果如下的两种方式输出的结果完全相同:
let { id, status, data: number } = jsonData;
console.log(id, status, number); // 42, 'OK', [867, 5309]
let { id, status, data } = jsonData;
console.log(id, status, data); // 42, 'OK', [867, 5309]
其实并不知道为什么两种方式都支持,觉得就应该是第二种方式才正统
ES6给数组扩展了一个fill方法,使用方法如下所示:
['a', 'b', 'c'].fill(7)
// [7, 7, 7]
也就是说它是给数组填充值,但是如果填充的是引用类型的话,则事实上改变其中一个所有的都会改变
如下图所示:
ES6新增了for of运算,原先有了for in运算,为什么又增加for of运算,那来看看它俩之间的区别
在使用for in循环数组,for in会遍历数组所有可枚举属性,包括原型链上的,所以for in更适合遍历对象,不要使用for in遍历数组
for in 遍历的是数组的索引,而for of遍历的是数组的元素值
所以在循环数组的话用for of会更加方便一些
Array.from是将类似数组对象(部署了Iterator接口的数据结构,比如字符串和Set结构)转化为真正的数组,但是Array.from还接受第二个参数,作用类似于map方法用来对每个元素进行处理,将处理后的值放入返回的数组
console.log(Array.from([1, 2, 3], (x) => x * x));
数组合并
var arr1 = [0, 1, 2];
var arr2 = [3, 4, 5];
arr1.push(...arr2);
console.log(arr1); // 0,1,2,3,4,5
数组求最大值
console.log(Math.max(...[14, 3, 77]))
扩展运算符还可以替代Object.assign
let ab = { ...a, ...b }; //这句话跟下面的同样作用
let ab = Object.assign({}, a, b);
去除数组重量的值
var arrs = [1, 2, 3, 1, 3, 4];
console.log([...new Set(arrs)]); // [1, 2, 3, 4]
另一种方法去重:
function unique(array) {
return Array.from(new Set(array));
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。