如何使简单的PHP的foreach相当于Javascript?

可能重复:
在JavaScript中循环访问数组

我想在JavaScript中做相当于PHP的foreach。 因为我不太了解Javascript语言,所以我希望有人把这段PHP代码改写成Javascript代码片段:

$my_array = array(2 => 'Mike', 4 => 'Peter', 7 => 'Sam', 10 => 'Michael');

foreach($my_array as $id => $name)
{
     echo $id . ' = ' . $name;
}

这甚至有可能在JavaScript语言中做?


最接近的构造是

a = { 2: 'Mike', 4: 'Peter', 7: 'Sam', 10: 'Michael' };
for(var n in a) {
    console.log(n+'='+a[n]);
}

在JQuery中, $.each函数类似。

它允许你使用回调函数迭代数组,在这个函数中你可以访问每个项目:

var arr = [ "one", "two", "three", "four", "five" ];


$.each(arr, function(index, value) {
  // work with value
});

普通的JavaScript?

for (var key in obj) {
    alert(key + ': ' + obj[key]);
}

看到下面的网址

foreach相当于在jQuery中的PHP?

或者尝试一下

如果你想迭代一个对象,我会推荐JavaScript变体:

for (var key in obj) {
    alert(key + ': ' + obj[key]);
}

你也可以像这样在jQuery中迭代对象:注意! 除非您认为此语法维护起来更简单,否则这样做毫无意义。 下面的语法比上面的标准JavaScript,for-loop有更多的开销。

$.each(obj, function (key, value) {
    alert(key + ': ' + value);
});

要迭代数组,这是你在标准JavaScript中的做法(假设arr是数组):

for (var i = 0, l = arr.length; i < l; i++) {
    alert(i + ': ' + arr[i]);
}

要做到这一点在jQuery中,你可以这样做:

$.each(arr, function (index, value) {
    alert(index + ': ' + value);
});
链接地址: http://www.djcxy.com/p/24525.html

上一篇: How to make simple php's foreach equivalent in Javascript?

下一篇: JavaScript for...in vs for