JS常用工具方法
JS数字转二进制
num.toString(2)
JS二进制转10进制
// num为string类型,强制转为number会有bug
parseInt(num, 2)
数组过滤
filter()方法使用指定的函数测试所有元素,并创建一个包含所有通过特使的元素的新数组
arr.filter(callback(element, index, array), this(可选))
callback返回true表示保留该元素,false则不保留
reduce函数
reduce方法有两个参数,第一个参数是一个callback,用于针对数组项的操作;第二个参数则是传入的初始值,这个初始值用于单个数组项的操作。需要注意的是,reduce方法返回值并不是数组,而是形如初始值的经过叠加处理后的操作。
var items = [10, 120, 1000];
var reducer = function add(sumSoFar, item) { return sumSoFar + item; };
var total = items.reduce(reducer, 0);
console.log(total);
应用
var singleNumber = function(nums) {
return nums.reduce((a,b) => a^b);
};
数组map方法
map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
map() 方法按照原始数组元素顺序依次处理元素。
注意: map() 不会对空数组进行检测。
注意: map() 不会改变原始数组。
arr.map((e) => {
return e.length;
})
数组中的最大值
Math.max.apply(this, arr);