是否有像JavaScript / jQuery中的php函数key()这样的函数?

时间:2013-11-26 16:08:41

标签: jquery json object key

我通过<?php echo json_encode($my_array); ?>将多维数组转换为JavaScript。我想将该JSON的条目与其他变量进行比较。那么如何在没有子条目的情况下将对象作为字符串?

假设我的对象是[Object { 1429={Object { 8766={...}, 8483={...}, 7345={...}}}}, Object { 9041={...}}]

那我怎么能得到1429或8766作为字符串?我知道如何使用PHP中的多维数组(它是key()) - 但它在JavaScript中会是什么?

2 个答案:

答案 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 - 打开控制台查看结果。