How to make simple php's foreach equivalent in Javascript?
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
Loop through array in JavaScript
我想在javascript中使用相当于php的foreach。因为我不太了解javascript语言,所以我希望有人将此PHP代码重写为javascript片段:
1 2 3 4 5 6 | $my_array = array(2 => 'Mike', 4 => 'Peter', 7 => 'Sam', 10 => 'Michael'); foreach($my_array as $id => $name) { echo $id . ' = ' . $name; } |
在JavaScript语言中,这是可能的吗?
最近的构造是
1 2 3 4 | a = { 2: 'Mike', 4: 'Peter', 7: 'Sam', 10: 'Michael' }; for(var n in a) { console.log(n+'='+a[n]); } |
在jquery中,
它允许您使用回调函数迭代数组,其中您可以访问每个项:
1 2 3 4 5 6 | var arr = ["one","two","three","four","five" ]; $.each(arr, function(index, value) { // work with value }); |
普通的javascript?
因为你是双向的。
首先,当数据在对象中时(例如,它在我的列表中)第二个是当数据正好在数组中时(例如,它是我的数组)
在任何情况下,您都可以将javascript用于…in语句
例子:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <script type="text/javascript" charset="utf-8"> var data; var my_list = {2:'Mike', 4:'Peter', 7:'Sam', 10:'Michael'}; var my_array = new Array(); my_array[2] = 'Mike'; my_array[4] = 'Peter'; my_array[7] = 'Sam'; my_array[10] = 'Michael'; data = ''; for(index in my_list) { data += (index+'='+my_list[index]+" "); } console.log(data); data = ''; for(index in my_array) { data += (index+'='+my_array[index]+" "); } console.log(data); |
在这两种情况下,控制台输出都是:
1 2 3 4 | 2=Mike 4=Peter 7=Sam 10=Michael |
实际上,请阅读http://www.w3schools.com/js/js-loop-for-in.asp
参见下面的URL
jquery中的foreach相当于php?
或者尝试一下
如果要迭代对象,我建议使用javascript变量:
您还可以在jquery中迭代对象,如下所示:注意!这样做是毫无意义的,除非您认为这种语法更容易维护。下面的语法比上面的标准javascript for循环有更多的开销。
要迭代数组,这是在标准JavaScript中进行迭代的方法(假设arr是数组):
1 2 3 | for (var i = 0, l = arr.length; i < l; i++) { alert(i + ': ' + arr[i]); } |
要在jquery中执行此操作,可以这样做:
1 2 3 |