#javascript #javascript-objects #simplecart
#javascript #javascript-объекты #simplecart
Вопрос:
Наличие такого объекта:
req.body = {
currency : "USD",
item_name_1: "something",
item_price_1: "something else",
item_name_2: "something",
item_price_2: "something else",
item_name_3: "something",
item_price_3: "something else",
address: "some address"
itemCount: 3
}
Каков наилучший способ получить пары ключ / значение только для имен элементов ??, Я бы попробовал что-то подобное, но, конечно, это не работает:
var cart= "";
for (var i=1; i<= req.body.itemCount;i ){
cart = req.body.item_name_ i
" " req.body.item_price_ i;
}
Заранее спасибо!
Ответ №1:
Вместо
req.body.item_name_ i
Это будет работать:
req.body["item_name_" i]
Тем не менее, я настоятельно рекомендую вам пересмотреть свой подход, если сможете, и преобразовать ваши данные в это:
req.body = {
currency : "USD",
items: [
{ name: "something", price: "something else" },
{ name: "something", price: "something else" },
{ name: "something", price: "something else" }
],
address: "some address"
}
Ответ №2:
Не проверял это, поэтому, возможно, придется с этим повозиться, но я верю, что это будет так:
req.body["item_name_" i]
и
req.body["item_price_" i]
Ответ №3:
Если вы хотите получить значение из объекта на основе строкового литерала или строки, вам нужно будет использовать []
обозначения, где значение между []
ними является строкой. Вы можете создать строку из строковых литералов и переменных с помощью
оператора. Измените конкатенацию строк на это:
cart = req.body["item_name_" i]
" "
req.body["item_price_" i];