面试题
灯火暗
Q229970025
展开
-
原生js实现filter,map,reduce方法
js原生封装一个filter方法function myFilter(arr, callback) { if (!arr.length || !Array.isArray(arr) || typeof callback !== 'function') { return [] } else { const result = [] for (let i = 0; i < arr.length; i++) { const item = arr[i] i原创 2020-08-13 22:59:27 · 490 阅读 · 1 评论 -
slice与splice的区别
slicesplice不改变原数组改变原数组返回一个子数组返回被替换或删除掉的元素数组arr.slice(2, 3) 从索引为2的元素开始截取到索引为3的元素(包含2,不包含3)arr.splice(2, 3) 从索引为2的元素开始 删除 3个元素(包含2)slice: 从当前数组中截取一个新的数组不影响原来的数组,返回子数组var arr = ['a', 'b', 'c', 'd', 'e', 'f']var arr1 = arr.slice(0, 3...原创 2020-08-06 22:57:52 · 148 阅读 · 0 评论 -
forEach和map的区别
forEachvar arr = [0, 2, 4, 6, 8];var newArr = arr.forEach(function (item, index, arr) { // console.log(this); // Window{} // console.log(arr); // [0, 2, 4, 6, 8] arr[index] = item / 2;});// 1. 对数据的操作会改变原数组console.log(arr); // [0, 1, 2, 3, 4]原创 2020-08-06 22:13:43 · 152 阅读 · 0 评论 -
for...of和for...in的区别
for…of和for…in的区别for…in循环的是key。for…of循环的是valuelet arr = ['a', 123, { a: '1', b: '2' }]for (let key in arr) { console.log(`${arr[key]}`); // a 123 [object Object]}for (let value of arr) { console.log(value) // a 123 {a: "1", b: "2"}}推荐使用原创 2020-08-06 21:31:05 · 415 阅读 · 0 评论 -
var a=1,b=1与var a=b=1的区别
var a=1,b=1;与var a=b=1;的区别var a=1,b=1;等价于 var a=1;var b=1;var a=b=1; 等价于 var a=1;b=1;var a = 1, b = 1function fn() { console.log(a, b) // undefined 1 var a = b = 2 console.log(a, b) // 2 2}fn()console.log(a, b) // 1 2...原创 2020-08-01 22:19:30 · 550 阅读 · 0 评论