#javascript #arrays #json #multidimensional-array
Вопрос:
У меня есть этот код json:
"genres":[{"id":28,"name":"Action"},{"id":53,"name":"Thriller"},{"id":878,"name":"Science Fiction"}]
Как я могу получить в Javascript только идентификатор от каждого типа:
['28', '53', '878']
Мне нужно, чтобы эти значения были выбраны в select2
$('#gen').select2().select2('val', ['28', '53', '878']);
Спасибо!
Комментарии:
1.
$('#gen').select2().select2('val', data.genres.map(el => String(el.id)));
2. Идентификаторы должны быть строками. Сработает ли это @Ник?
3. Это будет сейчас.. 🙂
4. @Ник у меня есть запись
$('#gen').select2().select2('val', json.map(el => String(el.id)));
, но я выбираю только первое значение, это 28, почему?5. Не уверен. Может быть, что-то не так со структурой вашего JSON? Вы можете увидеть здесь, как это работает: codesandbox.io/s/sweet-yalow-esvdh?file=/src/index.js:248-265
Ответ №1:
var filter = genres.map(x => x.id)
$('#gen').select2().select2('val', filter);