项目场景:
提示:此bug只是记录本人项目中遇到的bug:
例如:项目场景:示例:两个数组,按一个数组为比较对象,第二个数组中的顺序要和第一个数组中的顺序相同,如果第二个数组中没有第一个数组对应下下标的数据,留空做对比,不一样的全部放到数组后面
问题描述:
现在以下两个数组
let a = ['1','25','3']
let b = ['3','1','45']
要把b的结果改为
["1", "--", "3", "45"]
解决方案:
闲话不多说,直接上解决方案:
let a = ['1','25','3']
let b = ['3','1','45']
let c = []
for (let i in a) {
for (let j in b) {
if(a[i] == b[j]){
c.push(a[i])
b.splice(j,1)
j--
}
}
}
for (let i in a) {
if(a[i] != c[i]){
let p = ''
for(let i = 0;i<a[i].length;i++){
p += '-'
}
c.splice(i,0,p)
}
}
for (let i in c) {
for (let j in b) {
if(c[i] != b[j]){
c.push(b[j])
}
}
}
function uniq(arr){
for(let i = 0;i<arr.length;i++){
for(let j = i+1;j<arr.length;j++){
if(arr[i] == arr[j]){
arr.splice(i,1)
i--
}
}
}
return arr
}
console.log(uniq(c))