其实要实现需求方法很多,这里介绍一种比较简洁高效的实现方式。
const arr = ["q", "a", "b", "c", "a", "q"];
function getUniqueElement(arr) {
const iGetIt = [];
if (arr.length === 0 || !Array.isArray(arr)) return null;
for (let i = 0; i < arr.length; i++) {
if (arr.indexOf(arr[i], i + 1) === -1) {
iGetIt.push(arr[i]);
break;
}
}
return iGetIt;
}
let result = getUniqueElement(arr);
console.log("result:", result);
如果要实现获取多个不重复的选项,其实也比较简单,在原先的基础上,加上当前元素的下标判断,就能轻易搞定需求。
const arr = ["q", "a", "b", "c", "a", "q"];
function getUniqueElement(arr) {
const iGetIt = [];
if (arr.length === 0 || !Array.isArray(arr)) return null;
for (let i = 0; i < arr.length; i++) {
if (arr.indexOf(arr[i]) == i && arr.indexOf(arr[i], i + 1) === -1) {
iGetIt.push(arr[i]);
}
}
return iGetIt;
}
let result = getUniqueElement(arr);
console.log("result:", result);