javascript - JavaScript 中的数组处理

标签 javascript

var meal_qty = {}; 
      var label_options = new Array(); 
      var qty_options = new Array(); 


      <?php foreach($label_name as $meal_option_id => $names_of_labels)
    {?>


      var meal_label_qty = <?php echo $meal_option_id; ?>;

      meal_qty[meal_label_qty] = [];
      var item = {
            mon: <?php echo $_SESSION['protiens']['mon'][$meal_option_id]['qty']?> || null,
            tues: <?php echo $_SESSION['protiens']['tues'][$meal_option_id]['qty']?> || null,
            wed: <?php echo $_SESSION['protiens']['wed'][$meal_option_id]['qty']?> || null,
            thur: <?php echo $_SESSION['protiens']['thur'][$meal_option_id]['qty']?> || null,
            fri: <?php echo $_SESSION['protiens']['fri'][$meal_option_id]['qty']?> || null
      }
      meal_qty[meal_label_qty] = item; 
      <?php }?>


      $('.option').on('click', function() {
            $(".tab_options").hide();
            var label = $(this).attr('label_option');
            console.log(meal_qty[label]);
            //$("#qty1").val(meal_qty[label][mon]);  

正如您所看到的最后注释掉的行,它说“mon”未定义,但是我怎样才能让它显示数字?控制台之前正常显示为

Object{mon:2, tues:null , wed:1 , thur: null, fri: null}

我怎样才能只显示星期一,即“2”

最佳答案

您可以:

1) 将 mon 放在引号中:

meal_qty[label]["mon"]

2)使用点符号:

meal_qty[label].mon

Mon 不是变量,因此它必须是上述两者之一。

关于javascript - JavaScript 中的数组处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44072707/

相关文章:

javascript - PHP/AJAX : Get web page content every 3 seconds until it changes

javascript - 将 JavaScript 鼠标事件从一个元素传播到另一个元素?

javascript - 使用变量动态访问对象的数组属性

javascript - 将带有 JavaScript 函数的 javascript 数组转换为 json 并返回

javascript - 使用 jQuery 从输入获取关联数组

javascript - 使用 apply() 与 call(),在这种情况下使用哪一个?

javascript - 如何使用 Angular Firestore 创建和更新子集合?

javascript - 通过 AJAX 发送数据到 MySQL

javascript - AngularJS - 下拉列表不保留所选值

javascript - Vue.js 中的 Eventbus 没有更新我的组件