const allcode = [1,2,3,4,5,6,7,8];//所有的code
const usecode = [1,6];//已使用的code
js如何找出未使用的code,unusecode?
const allcode = [1,2,3,4,5,6,7,8];//所有的code
const usecode = [1,6];//已使用的code
js如何找出未使用的code,unusecode?
去除相同值,返回新数组写法:
var allcode = [1,2,3,4,5,6,7];
var usecode = [1,2,5];
var newArr = [];
var tmp = allcode.concat(usecode);
var o = {};
for (var i = 0; i < tmp.length; i ++) (tmp[i] in o) ? o[tmp[i]] ++ : o[tmp[i]] = 1;
for (x in o) if (o[x] == 1) newArr .push(x);
console.log(newArr) // ["3", "4", "6", "7"]
一、你可以这样设置
const allCodes = [
{
code: 1,
isUse: false,
},
{
code: 2,
isUse: true,
}
]
将一个 code
和一个状态值绑定在一起,当这个code使用过,可以将它设置为 true
// 比如第一个 code 你用过了
allCodes[0].isUse = true
二、如果你是用两个数组来维护这个状态,每次可以使用一个 for
循环,来判断
const allCodes = [1, 2, 3, 4, 5]
const unUseCodes = [1, 2]
function getUseData(allCodes, unUseCodes) {
const useData = []
for (let i = 0, len = allCodes.length; i < len; i++) {
const tempCode = allCodes[i]
if (!unUseCodes.includes(tempCode) {
useData.push(tempCode)
}
}
return useData
}
const useData = getUseData(allCodes, unUseCodes)
更简洁的写法,使用 filter
楼上已经有答案
10 回答11.1k 阅读
15 回答8.4k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
8 回答6.2k 阅读
2 回答2.6k 阅读✓ 已解决