大家好哦 今天主要梳理数组相关api及手写题目 打好基础 万丈高楼从地起
一些数组的api
1.Array.of 很少用 类似数组构造器 将参数转化为数组的一个项
Array.of(8.0, 5); // [8, 5]
2.Array.from 包含3个参数 1.类似数组的的对象 2.加工函数 3.加工函数执行时的this值
var obj = {0: 'a', 1: 'b', 2:'c', length: 3};
Array.from(obj, function(value){
return value.repeat(3); //必须指定返回值,否则返回 undefined
}, obj);
// return 的 value 重复了三遍,输出 ["aaa","bbb","ccc"]
// String
Array.from('abc'); // ["a", "b", "c"]
// Set
Array.from(new Set(['abc', 'def'])); // ["abc", "def"]
// Map
Array.from(new Map([[1, 'ab'], [2, 'de']])); // [[1, 'ab'], [2, 'de']]
3.数组的判断
var a = []
a instanceof Array
a.constructor === Array
Array.prototype.isPrototypeOf(a)
Object.getPrototypeOf(a) === Array.prototype
Object.prototype.toString.call(a) === '[object Array]'
Array.isArray(a) //ES6 add
4.改变自身的方法