本文共 1081 字,大约阅读时间需要 3 分钟。
两个数组合并成一个数组
请把两个数组 ['A1', 'A2', 'B1', 'B2', 'C1', 'C2', 'D1', 'D2'] 和 ['A', 'B', 'C', 'D'],合并为 ['A1', 'A2', 'A', 'B1', 'B2', 'B', 'C1', 'C2', 'C', 'D1', 'D2', 'D']。
自己研究的解法:
var a = ['A1', 'A2', 'B1', 'B2', 'C1', 'C2', 'D1', 'D2']var b = ['A', 'B', 'C', 'D']for (var i = 0; i < b.length; i++) { var c = []; for (var j = 0; j < a.length; j++) { j % 2 == 1 ? c.push(j + i + 1) : '' } a.splice(c[i], 0, b[i])}console.log(a) //[ 'A1', 'A2', 'A', 'B1', 'B2', 'B', 'C1', 'C2', 'C', 'D1', 'D2', 'D' ]
其他的解法:
let result = ["A1", "A2", "B1", "B2", "C1", "C2", "D1", "D2"].concat(["A", "B", "C", "D"]).sort((a,b)=>a.charAt(0).charCodeAt()-b.charAt(0).charCodeAt());
改造下面的代码,使之输出0 - 9,写出你能想到的所有解法。
下面的代码会输出10个10
for (var i = 0; i< 10; i++){ setTimeout(() => { console.log(i); }, 1000)}
改造后,输出0-9
for (var i = 0; i < 10; i++) { ( (j) => { setTimeout(() => { console.log(j); }, 1000) } )(i)}
for (let i = 0; i < 10; i++) { setTimeout(() => { console.log(i); }, 1000)}
for (var i = 0; i < 10; i++) { setTimeout((i) => { console.log(i); }, 1000, i)}
转载地址:http://opyq.baihongyu.com/