我通过<?php echo json_encode($my_array); ?>
将多维数组转换为JavaScript。我想将该JSON的条目与其他变量进行比较。那么如何在没有子条目的情况下将对象作为字符串?
假设我的对象是[Object { 1429={Object { 8766={...}, 8483={...}, 7345={...}}}}, Object { 9041={...}}]
那我怎么能得到1429或8766作为字符串?我知道如何使用PHP中的多维数组(它是key()) - 但它在JavaScript中会是什么?
答案 0 :(得分:1)
在PHP中,key()函数只返回内部指针当前指向的数组元素的键。
例如(来自手册):
<?php
$array = array(
'fruit1' => 'apple',
'fruit2' => 'orange',
'fruit3' => 'grape',
'fruit4' => 'apple',
'fruit5' => 'apple');
// this cycle echoes all associative array
// key where value equals "apple"
while ($fruit_name = current($array)) {
if ($fruit_name == 'apple') {
echo key($array).'<br />';
}
next($array);
}
?>
在js中没有像对象中的内部指针那样的东西,所以没有类似的功能。
答案 1 :(得分:1)
只是我认为你想要的一个例子。你可以更多地扩展它。
var obj = {
"5": "some",
"8": "thing"
};
var keys = $.map(obj, function (value, key) {
return key;
});
//result keys: ["5", "8"]
JSFIDDLE DEMO - 打开控制台查看结果。