2016-08-20 3 views
1

Я застрял в этой проблеме в течение нескольких дней. Я не могу отформатировать значения в соответствии с данным форматом.Заполнение параметра с использованием массивов - новичок

У меня есть 2 объекта Array.

var name = ["sam","Anthony"]; 
var age = ["4","10"]; 

Массив name и age может содержать несколько значений в нем. Таким образом, это означает, что 2 массива выше динамичны.

Мне нужно извлечь значения из этих массивов и добавить их в раздел Item, как показано в следующем коде. Однако я не могу жестко закодировать содержимое массива, поскольку этот массив имеет динамический размер. Он может содержать больше записей учащихся. В этом случае Как я могу построить следующую переменную params после заполнения значений массивов name и age?

var params = { 
    RequestItems: { 
     "Student": [ 
      { 
       PutRequest: { 
        Item: { 
         "name": "sam", 
         "age": "4" 

        } 
       } 
      }, 
      { 
       PutRequest: { 
        Item: { 
         "name": "Anthony", 
         "age": "10" 
        } 
       } 
      } 
     ] 
    } 
}; 

ответ

2

Используйте map функцию:

var names = ["sam", "Anthony"]; 
 
var age = ["4", "10"]; 
 

 
var params = { 
 
    RequestItems: { 
 
    "Student": names.map(function(c, index) { 
 
     return { 
 
     PutRequest: { 
 
      Item: { 
 
      "name": c, 
 
      "age": age[index] 
 
      } 
 
     } 
 
     }; 
 
    }) 
 
    } 
 
}; 
 
alert(JSON.stringify(params, null, 4));

Смежные вопросы