Массив Javascript удаляет все остальные элементы

Я ищу способ удалить другие элементы массива. Но я не знаю, как это сделать.

Это мой массив:

musics: [
          {
            id: 1,
            cover: require('~/assets/images/cover/music/ali_zand_vakili_jadeh_shab.jpg'),
            title: 'جاده شب',
            artist: 'علی زند وکیلی',
            source: 'http://media.mtvpersian.net/2019/Mar/21/Ali%20Zand%20Vakili%20-%20Jadeh%20Shab.mp3'
          },
          {
            id: 2,
            cover: require('~/assets/images/cover/music/amin_hayaei_divoone_misazi.jpg'),
            title: 'دیوونه میسازی',
            artist: 'امین حیایی',
            source: 'https://cdnmrtehran.ir/media/mp3s_128/Amin_Hayaei/Singles/amin_hayaei_divoone_misazi.mp3'
          },
          {
            id: 3,
            cover: require('~/assets/images/cover/music/emad_talebzadeh_maghrour.jpg'),
            title: 'مغرور',
            artist: 'عماد طالب زاده',
            source: 'https://cdnmrtehran.ir/media/mp3s_128/Emad_Talebzadeh/Singles/emad_talebzadeh_maghrour.mp3'
          },
          {
            id: 4,
            cover: require('~/assets/images/cover/music/farzad_farzin_jazzab.jpg'),
            title: 'جذاب',
            artist: 'فرزاد فرزین',
            source: 'https://cdnmrtehran.ir/media/mp3s_128/Farzad_Farzin/Singles/farzad_farzin_jazzab.mp3'
          },
          {
            id: 5,
            cover: require('~/assets/images/cover/music/hamid_sefat_ajayeb_shahr_merat_remix.jpg'),
            title: 'عجایب شهر رمیکس',
            artist: 'حمید صفت',
            source: 'https://cdnmrtehran.ir/media/mp3s_128/Hamid_Sefat/Singles/hamid_sefat_ajayeb_shahr_merat_remix.mp3'
          }
        ],

Как удалить все элементы, кроме элемента с идентификатором 3?

Вы задали здесь 2 разных вопроса, поэтому, возможно, захотите уточнить, к какому результату вы стремитесь. В любом случае вы, вероятно, захотите использовать Array#filter

Khauri 07.04.2019 16:43

как это сделать с фильтром?

mr stark 07.04.2019 16:46
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
2
996
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Вы можете использовать фильтр: https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Array/filter

musics = musics.filter (x => x.id == 3)

Чтобы удалить все четные индексированные элементы, вы можете использовать следующее:

musics = musics.filter((e, i) =>  i % 2 == 0)

Чтобы удалить нечетные, просто замените == на !=

Ответ принят как подходящий

var musics= [{id: 1,cover: '~/assets/images/cover/music/ali_zand_vakili_jadeh_shab.jpg',title: 'جاده شب',artist: 'علی زند وکیلی',source: 'http://media.mtvpersian.net/2019/Mar/21/Ali%20Zand%20Vakili%20-%20Jadeh%20Shab.mp3'},
{id: 2,cover: '~/assets/images/cover/music/amin_hayaei_divoone_misazi.jpg',title: 'دیوونه میسازی',artist: 'امین حیایی',source: 'https://cdnmrtehran.ir/media/mp3s_128/Amin_Hayaei/Singles/amin_hayaei_divoone_misazi.mp3'},
{id: 3,cover: '~/assets/images/cover/music/emad_talebzadeh_maghrour.jpg',title: 'مغرور',artist: 'عماد طالب زاده',source: 'https://cdnmrtehran.ir/media/mp3s_128/Emad_Talebzadeh/Singles/emad_talebzadeh_maghrour.mp3'},
{id: 4,cover: '~/assets/images/cover/music/farzad_farzin_jazzab.jpg',title: 'جذاب',artist: 'فرزاد فرزین',source: 'https://cdnmrtehran.ir/media/mp3s_128/Farzad_Farzin/Singles/farzad_farzin_jazzab.mp3'},
{id: 5,cover:'~/assets/images/cover/music/hamid_sefat_ajayeb_shahr_merat_remix.jpg',title: 'عجایب شهر رمیکس',artist: 'حمید صفت',source: 'https://cdnmrtehran.ir/media/mp3s_128/Hamid_Sefat/Singles/hamid_sefat_ajayeb_shahr_merat_remix.mp3'}]

var result =[];

musics.forEach(function(item){
  if (item.id == 3){
   result.push(item);
  }
});
console.info(result);

return in forEach не имеет смысла, вы должны просто использовать if ( item.id === 3) { result.push(item); } вместо if else, кроме того, OP хочет удалить все элементы, кроме тех, у которых id равно 3

Code Maniac 07.04.2019 17:29

@CodeManiac Вы правы, я не знаю, о чем я думал, когда публиковал ответ, извините за это и спасибо за помощь :) Я исправил свою ошибку

Akshay Salekar 07.04.2019 17:34

Другие вопросы по теме