Javascript 关联数组不能正常工作
我有以下代码:Javascript 关联数组不能正常工作,javascript,Javascript,我有以下代码: <?php if(mysqli_num_rows($result2) >= 2){ foreach($label_name as $meal_option_id => $names_of_labels) { echo '<button price='.$protein_prices[$meal_option_id].' label_option= '.$meal_option_id.' data-label-option= '.$meal_op
<?php
if(mysqli_num_rows($result2) >= 2){
foreach($label_name as $meal_option_id => $names_of_labels)
{
echo '<button price='.$protein_prices[$meal_option_id].' label_option= '.$meal_option_id.' data-label-option= '.$meal_option_id.' class="view1 white cbtn1 open_sansbold option protein-option">' .$names_of_labels. ' <span id="price-difference-for-'.$meal_option_id.'"></span></button>';
}}?>
现在项目确实包含正确的值,用餐标签数量也包含正确的值
,但我的控制台日志是:
(1003) [undefined × 1002, Object]
我想要这个输出:
[meal_label_qty]
{
mon: $("#qty1").val(),
tues: $("#qty2").val(),
wed: $("#qty3").val(),
thur: $("#qty4").val(),
fri: $("#qty5").val() //WHICH IS ITEM
}
我意识到我的代码是正确的进餐标签数量和项目,但在代码行
进餐数量[进餐标签数量]=[]之后开始写入对象代码>JavaScript没有关联数组;它具有零索引数组和具有属性的对象。似乎存在关联数组,因为您可以使用类似的语法从对象访问属性(obj[property]
)
要获得所需的输出,只需将进餐数量
更改为对象而不是数组,或者稍微重新构造代码,将新对象推入数组而不是将其分配给索引
// add the quantity label to the item object
item.qty = meal_label_qty;
// push the whole object onto the array
meal_qty.push(item);
我做了这个var-fine\u-label\u-qty=$(this.data(“标签选项”);//创建值为var item={mon:$(“#qty1”).val(),tues:$(“#qty2”).val(),wed:$(“#qty3”).val(),thur:$(“#qty4”).val(),fri:$(“#qty5”).val()}item.qty=餐食标签数量;进餐推送数量(项目);警报(进餐数量)
i get[object][object]索引数组将始终是一个数字“进餐标签数量”始终是一个数字,因此它应该工作alert
只是在进餐数量对象上执行一个toString,这就是您看到[object object]
的原因。当您登录时,我不太清楚您希望输出什么,所以我更改了var-feet_-qty={};现在我得到Object{1001:Object,1002:Object}
我猜“Object”就是项目,我如何修复这个问题并使项目显示?如何在浏览器的控制台中显示它们?每个浏览器都有一点不同。你在用什么?如果您使用console.log记录单个对象,那么您的开发工具应该以内联方式显示属性/值。
// add the quantity label to the item object
item.qty = meal_label_qty;
// push the whole object onto the array
meal_qty.push(item);