请告诉我这是从阵列中找到唯一号码的最佳方法吗?
var singleNumber = function(nums) {
for (var i = 0; i < nums.length; i++) {
if (i === 0) {
nums[0] = 0 ^ nums[0];
/* console.log(nums[0]); */
} else {
nums[0] ^= nums[i];
/* console.log(nums[0]); */
}
}
console.log(nums[0]);
return nums[0];
};
singleNumber([2, 2, 3, 3, 4]);
&#13;
如果您有更好的方法,请帮助我。
答案 0 :(得分:2)
我创建了两个从传递的数组中返回唯一数字的函数:
var getFirstUniqueNumber = function(nums) {
var number = null;
var map = {};
nums.forEach((val) => {
if (!map[val] && (number === null)) number = val;
if (map[val] && (number !== null)) number = null;
map[val] = true;
});
return number;
};
var getLastUniqueNumber = function(nums) {
var number = null;
var map = {};
nums.forEach((val) => {
if (!map[val]) number = val;
map[val] = true;
});
return number;
};
我在这里创建了一个小提琴:https://jsfiddle.net/u88qgxrr/2/
他们按照名称所说的做,你可能想要最后一个唯一的号码!