var arr = ["cat", "dog", "bear", "cat", "bird", "dog", "dog","cat"];
arr.remove("cat", "dog");
console.log(arr);
私は、文字列「猫」と「犬」を削除したいが、私は彼らに、結果で一度だけを印刷したいです。誰でも助けてくれますか?
var arr = ["cat", "dog", "bear", "cat", "bird", "dog", "dog","cat"];
arr.remove("cat", "dog");
console.log(arr);
私は、文字列「猫」と「犬」を削除したいが、私は彼らに、結果で一度だけを印刷したいです。誰でも助けてくれますか?
フィルタ機能を使用します。
var arr = ["cat", "dog", "bear", "cat", "bird", "dog", "dog","cat"];
arr = arr.filter(function(item, pos) {
return arr.indexOf(item) == pos;
});
console.log(arr);
Array object
にはremove()
メソッドがありません。 要素のインデックスを取得し、削除してからsplice() methodを使用する必要があります。
const arr = ["cat", "dog", "bear", "cat", "bird", "dog", "dog","cat"];
const toRemove = ["cat", "dog"];
console.log('before', arr);
toRemove.forEach(item => {
const itemPosition = arr.indexOf(item);
arr.splice(itemPosition, 1);
});
console.log('after', arr);
あなたは配列をユニークにしたい場合は、次の操作を行うことができます:
const arr = ["cat", "dog", "bear", "cat", "bird", "dog", "dog","cat"];
uniqueArray = arr.filter(function(item, pos, self) {
return self.indexOf(item) == pos;
})
console.log(uniqueArray);
/**
* Takes an array of primitive values and returns a list with unique values
*
* @param {(string[] | number[] | boolean[])} arr
* @param {boolean} [preserve=false]
* @returns
*/
function uniqueArray(arr, preserve) {
if (preserve === void 0) {
preserve = true;
}
//Handle preservation of original array
var newArr;
if (preserve === true) {
newArr = arr.slice(0);
} else {
newArr = arr;
}
//Loop through array, from lowest to highest index
for (var a = 0; a < newArr.length; a++) {
//Loop through remainder of array based on index a
for (var b = a + 1; b < newArr.length; b++) {
//If values are the same
if (newArr[a] === newArr[b]) {
//Remove this index in the array
newArr.splice(b, 1);
//Offset b index to handle the rearranged array
b--;
}
}
}
//Return unique array
return newArr;
}
//TEST
var arr = ["cat", "dog", "bear", "cat", "bird", "dog", "dog", "cat"];
console.log(uniqueArray(arr));
だから、重複を削除したい、または一度だけの猫と犬の値を削除し、その後、他の重複を残しますか? – Randy
私は重複を削除したい – Sai