2023-JavaScript-js-配列(オブジェクトの配列)の指定要素を削除する
配列内の要素の削除は基本的に以下の方法で対応できます. 多層の入れ子配列であればそれも使用できます. この方法を循環的に使用してください.
1.フィルター
filter: 配列内の修飾された要素を新しい配列に保存します (配列内の要素をフィルタリングします)
// 对象数组
let arr = [
{
name:"张三",age:18},
{
name:"李四",age:19},
{
name:"王五",age:20}
]
let list = arr.filter((val) => val.name !== '张三')
console.log(list);
// 数组
let arr = [
4,5,7,9
]
let list = arr.filter((val) => val !== 9)
console.log(list);
2.スライス
splice: 既存の要素を削除または置換するか、新しい要素を所定の位置に追加して配列を変更し、変更されたコンテンツを新しい配列として返します
- パラメーター 1: 変更の開始位置を指定します。
- パラメータ 2: 削除する配列要素の数を示す整数
- パラメーター 3: 開始位置から始まる、配列に追加される要素。指定しない場合、 splice() は配列要素のみを削除します
let arr = [1,2,3,4,5]
let result = arr.splice(2,1)
console.log(result); // 返回一个数组
3. for ループが悪い
for ループのトラバースが悪く、新しい配列を生成し、削除された要素以外の要素を新しい配列に追加します
- indexOf: 配列内で特定の要素が見つかった最初のインデックスを返します。存在しない場合は -1 を返します。
// 数组
let arr = [22,55,99,88,44]
let list = []
console.log(arr.indexOf(22));
for(let i=0;i<arr.length;i++){
if(i !== arr.indexOf(22)){
list.push(arr[i])
}
}
console.log(list);
// 对象数组
let arr = [
{
name:"张三",age:18},
{
name:"李四",age:19},
{
name:"王五",age:20}
]
let list = []
for(let i=0;i<arr.length;i++){
if(arr[i].name !== '张三'){
list.push(arr[i])
}
}
console.log(list);