我在使用jQuery .each()函数循环JSON的键/值时遇到问题
最初我有一个像这样的JSON:
json = {"aaa":[
{"id":"1","data":"aaa1data"}
,{"id":"2","data":"aaa2data"}
],
"bbb":[
{"id":"3","data":"bbb1data"}
]
}
Run Code Online (Sandbox Code Playgroud)
我想循环遍历JSON(aaa和bbb)中的所有键/值元素,并检索内部JSON数组以便再次循环,所以我试过
$(json).each(function(index,data)
{
var zzz = data;
$(zzz).each(function(index,data))
{
//some other stuff
}
}
Run Code Online (Sandbox Code Playgroud)
但是,我发现第一个.each()函数将整个json视为单个结构,并且不会在其元素的键上循环.从.each()函数接收的数据参数始终是原始的json本身.我永远无法获得指向aaa和bbb的内部JSON数组的引用.
这里会出现什么问题,我应该如何通过jQuery正确地循环JSON中的所有键/值元素?
我有一个图像列表,我通过ajax,然后使用jquery $ .each()我循环通过图像,并在一秒钟的间隔后一个接一个地显示图像.我希望用户能够点击停止按钮,以便用户可以根据需要停在特定图像上.所以我需要在用户点击停止按钮时动态退出$ .each().有可能吗?
我正在尝试使用jQuery的each循环来遍历此JSON并将其添加到div命名#contentHere.JSON如下:
{ "justIn": [
{ "textId": "123", "text": "Hello", "textType": "Greeting" },
{ "textId": "514", "text":"What's up?", "textType": "Question" },
{ "textId": "122", "text":"Come over here", "textType": "Order" }
],
"recent": [
{ "textId": "1255", "text": "Hello", "textType": "Greeting" },
{ "textId": "6564", "text":"What's up?", "textType": "Question" },
{ "textId": "0192", "text":"Come over here", "textType": "Order" }
],
"old": [
{ "textId": "5213", "text": "Hello", "textType": "Greeting" },
{ "textId": "9758", "text":"What's up?", "textType": …Run Code Online (Sandbox Code Playgroud) 我在这里做错了但我看不到它!我试图在下划线模板中循环一个数组.它不起作用,所以我错过了一些东西,这是我的代码,我的模板工作正常,否则,它只是_.each的东西,它们正在喋喋不休:
<script type="text/template" id="PageContent">
<div class="col2">
<@ _.each([0,1,2,3,4], function(i) { @> <p><@ i @></p> <@ }); @>
</div>
</script>
Run Code Online (Sandbox Code Playgroud)
我也做了一些像这样的模板设置:
_.templateSettings = {
interpolate: /\<\@(.+?)\@\>/gim
};
Run Code Online (Sandbox Code Playgroud) 我可以用attr"获取匹配元素集中第一个元素的属性值......"
要获取属性列表,我是否需要手动构建它$(..).each或者是否方便?
$('tr.food-row')
[
<tr class=?"food-row" data-pk=?"11457">?…?</tr>?
,
<tr class=?"food-row" data-pk=?"11429">?…?</tr>?
]
$('tr.food-row').attr('data-pk')
"11457"
Run Code Online (Sandbox Code Playgroud)
我想得到["11457", "11429"].
我正在查看Underscore和Lodash库之间的差异,我遇到了一个关于_.each/_.forEach的问题.
在Underscore中,_.each函数不能突破循环.当使用return false时,它只能作为"continue"语句使用.(这是我的预期功能)=它强制进行循环的下一次迭代,跳过其间的任何代码.
另一方面,在Lodash中,返回false告诉_.forEach()该迭代将是最后一次.有没有办法让Lodash中的"继续"行为也起作用?
谢谢.
如何判断我是否处于VB.NET中For Each语句的最后一个循环中?
是否可以循环一个data()对象?
假设这是我的代码:
$('#mydiv').data('bar','lorem');
$('#mydiv').data('foo','ipsum');
$('#mydiv').data('cam','dolores');
Run Code Online (Sandbox Code Playgroud)
我该如何循环呢?可以each()用于此吗?
有没有办法使用,.each所以如果对象为零或空(如果没有添加额外的空/空白测试,它不会抛出错误?
似乎如果我说phonelist.each do |phone|如果phonelist是空的,那么不应该执行该块.
但是在我看来(haml)我有- @myvar.phonelist.each do |phone|,如果phonelist是空的,它会抛出一个NoMethodError.
我遇到了很多,总是通过为.blank添加显式检查/分支来解决这个问题?但似乎应该有一种更简单的方法来告诉.每个空手段什么都不做.
现在,这是阵列,
[1,2,3,4,5,6,7,8,9]
Run Code Online (Sandbox Code Playgroud)
我想要,
[1,2],[2,3],[3,4] upto [8,9]
Run Code Online (Sandbox Code Playgroud)
当我这样做时,每个我都得到了(2),
[[1,2],[3,4]..[8,9]]
Run Code Online (Sandbox Code Playgroud)
我目前这样做,
arr.each_with_index do |i,j|
p [i,arr[j+1]].compact #During your arr.size is a odd number, remove nil.
end
Run Code Online (Sandbox Code Playgroud)
有没有更好的办法??