#javascript
#javascript
Вопрос:
var countries = ['India', 'China', 'Malaysia'];
var states = ['Penang', 'Johor', 'KL']; // for Malaysia
Как я могу добавить состояния в связанный массив стран? Означает ли это, что массив country становится 2-мерным?
Комментарии:
1. ну, я не думаю, что массив двух измерений работает так, как вы думаете, они работают, я думаю, вы стремитесь к объекту, а не к массиву?
2. @Yusnee ИМО, ваш вопрос трудно понять. Неясно, о чем именно вы просите, хотя я рад, что кто-то понял это и сумел вам помочь. Не принимайте отрицательные голоса лично и не суетитесь по их поводу; они даны для текущего состояния вопроса, а не для человека, который его задал. Обычно для вопросов, которым, по-видимому, не хватает исследовательских усилий, возникает множество отрицательных отзывов.
Ответ №1:
Вы могли бы использовать объект для описания того, что такое страна, вместо имени:
const countries = [{...}, {...}, {
name: 'Malaysia',
states: ['Penang', 'Johor', 'KL']
}, {...}];
Комментарии:
1. Хм … хорошо, я попробую сейчас
Ответ №2:
Вы могли бы использовать map()
для изменения массива и создания Malaysia
объекта с состояниями в качестве значения.
var countries = ['India', 'China', 'Malaysia'];
var states = ['Penang', 'Johor', 'KL'];
var result = countries.map(function(e) {
if(e == 'Malaysia') {
e = {[e]: states}
} else {
e = {[e]: []}
}
return e;
})
console.log(result)
Комментарии:
1. вы почти на месте. Но я думаю, что Индия и Китай также должны быть в скобках, но без содержимого массива. И возможно ли это с помощью push-массива?
2. Да, результат соответствует ожиданиям.