1.数组
改变原始数组(
splice:Array.splice(begin, deleteCount, addItem1, addItem2...) 返回删除的数组
push:arr.push('xxx') 返回数组长度
sort:arr.sort([compareFunction]) 返回用原地算法对数组的元素进行排序的数组
)
不改变原数组(
slice:arr.slice([start[, end]]) 返回新数组
join:arr.join('xxx') 返回数组所有元素连接成的字符串
concat:arr.concat([item1,item2...]) 返回合并后的新数组
indexOf:arr.indexOf(element, fromIndex=0) 返回查找元素在数组中第一次出现时的索引,不能发现NaN
includes:arr.includes(element, fromIndex=0) 返回true或false,可发现NaN
map:array.map(callback,[ thisObject]) 返回该数组中的每个元素都调用一个提供的函数后返回的结果
reduce:array.reduce(callback,[initialValue]) callback(accumulator, currentValue, [currentIndex, array]) 方法对数组中的每个元素执行一个提供的 reducer 函数(升序执行),将其结果汇总为单个返回值
filter:array.filter(callback,[ thisObject]) 返回通过测试为true的所有元素组成的数组
)
2.字符串
改变原始字符串(
)
不改变原字符串(
split:string.split(separator,limit) 返回分割后的数组substr:str.substr(start[, length]) 返回截取的字符串
)
3.对象
Object.prototype.hasOwnProperty(prop):仅在目标属性为对象自身属性时返回true
Object.create(obj, descr) (ES5):用于创建一个新对象,并为其设置原型,用(上述)属性描述符来定义对象的原型属性
4.常用特殊说明
类数组转换的几种方式(
ES6 扩展运算符进行转换:var arr1 = [...arrayLike]; // ['a','b','c']
ES6 中的 Array.from:let arr2 = Array.from(arrayLike); // ['a', 'b', 'c']
ES5中 Array.prototype.slice.call():
- 第一个参数是context(就是上下文的意思),用来替换对象函数中的this
- 第二个参数是传递给对象函数的参数
)