[英]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.