- map 接收的回调函数有三个参数, 还可以选择传入参数供回调函数使用。
var new_array = arr.map(function callback(currentValue, index, array) {
// Return element for new_array
}[,thisArg])
- reduce 是从 array 左往右,两个变量进行运算,得到的结果起来和下一个变量进行计算的方法。可以传入一个初始值供叠加。
arr.reduce(callback[,initialValue])
- filter 类似 map ,对每个变量进行筛选操作,返回筛选后的 array
var arr = ['A', '', 'B', null, undefined, 'C', ' '];
var r = arr.filter(function(s) {
return s && s.trim();
});
r; // ['A', 'B', 'C']
- sort 直接对原 array 进行操作,但要注意的是,它会根据 ASCII 码来排序,所以可能出现奇怪的结果,这时候我们需要传入自己书写的函数进行判断。
var arr = [10, 20, 1, 2];
arr.sort(function (x, y) {
if (x < y) {
return -1;
}
if (x > y) {
return 1;
}
return 0;
}); // [1, 2, 10, 20]
相关补充
- Math.max.apply(null, [3, 5, 4]); // 5 用以解决 this 的指向坑
- Math.max.call(null, 3, 5, 4); // 5 同上,只是传入的参数形式不同
- parseInt(string, radix) 还有第二个参数,如果忽略的话可能会导致错误。
- string.split 分离字符串
- string.substring 可以得到字符串子链
- array.splice(startIndex, deleteNum, addSth),我利用它更新 array
- array.slice(start, end) 切片操作,python 中也有,end 位置的变量不会被计入,总数也就是 end - start
相关题目: