两个数组合并成一个数组
请把两个数组 ['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)
}