繁体   English   中英

javascript对象推送如何设置键值

[英]javascript object push how to set key value

使用javascript push方法时,是否可以设置自己的键值? 这是我的示例:

  <script>
  var examples = [];
  </script>  

  <?php foreach($examples as $example):?>
  <script type="text/javascript">
  var example<?php echo $example['id']?> = { 
    id : '<?php echo $example['id']?>',
    another : '<?php echo $example['another']?>',
  };
  //here I would like to give key $example[id]
  examples.push(example<?php echo $example['id']?>);
  </script>  
  <?php endforeach;?>

  <script>  
    for (index = 0; index < examples.length; ++index) {
        somefunction(examples[index]);  
    }                            
  </script>

由于某些原因,我需要$ example ['id']具有与推键相同的值。

如果需要匹配ID,则制作一个数组会使此操作变得比您需要的难。

如果要通过ID引用它,则只需使用普通的JS对象

<script>
var examples = {};
</script>  

<?php foreach($examples as $example):?>
<script type="text/javascript">
var example<?php echo $example['id']?> = { 
  id : '<?php echo $example['id']?>',
  another : '<?php echo $example['another']?>',
};
//here I would like to give key $example[id]
examples['' + <?php echo $example['id']?>] = example;
</script>  
<?php endforeach;?>

<script>  
  for (var k in examples) {
      somefunction(examples[k]);  
  }                            
</script>

这将允许您设置任意字符串键并像数组一样遍历。

改用一个对象:

var examples = {};
...
examples[key] = value;

如果您的id是一个字符串值,那么您需要一个映射对象(var obj = {}; obj [key] = value),但是由于它不是数组,因此您将无法将其用作数组。您仍然可以执行以下操作:for(var k in elements){if(elements.hasOwnProperty(k)){doing}}

如果您真的想使用数组,则可以尝试使用splice( https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice )方法在特定位置插入元素索引(只需确保数组长度始终大于您要插入的索引值),但是对于该ID,您必须使用数字,而不是搅动。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM