jquery 如何遍历循环数组
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery 如何遍历循环数组相关的知识,希望对你有一定的参考价值。
参考技术A以某个结点依次进行访问,如此循环下去。
1、依次对树中每个结点均做一次且仅做一次访问,访问结点所做的操作依赖于具体的应用问题。
2、按访问结点的先后次序将结点排列起来,就可分别得到树中所有结点的前序列表、中序列表和后序列表。相应的结点次序分别称为结点的前序、中序和后序。
3、深度优先遍历从某个顶点出发,首先访问这个顶点,然后找出刚访问这个结点的第一个未被访问的邻结点,然后再以此邻结点为顶点,继续找它的下一个新的顶点进行访问。
4、广度优先遍历从某个顶点出发,首先访问这个顶点,然后找出这个结点的所有未被访问的邻接点,访问完后再访问这些结点中第一个邻接点的所有结点,重复此方法,直到所有结点都被访问完为止。
参考技术Bjquery遍历js数组需要先将js数组对象包装成jquery对象,然后调用jquery的each函数遍历。或者直接调用$.each函数也可以遍历数组。遍历函数中使用this取得当前遍历的项。遍历函数可以带参数,一个参数的话就是数组下标。代码如下。
var array = [1,2,3,4];$(array).each(function(index)
alert(this);
);
$.each(array,function(index)
alert(this);
); 参考技术C .each(function(i)
//i
是遍历的索引
) 参考技术D 第5个回答 推荐于2018-02-27 http://www.cnblogs.com/xiaojinhe2/archive/2011/10/12/2208740.html 觉得这个可以帮到你,请采纳本回答被提问者和网友采纳
循环遍历 jQuery 函数中的值
【中文标题】循环遍历 jQuery 函数中的值【英文标题】:Loop through values in jQuery function 【发布时间】:2017-05-24 10:29:52 【问题描述】:我尝试了不同的代码和设置,但仍然无法正常工作。我想将数组中的所有值添加到 jQuery 的 makeSpaceInactive 函数中。
$(document).ready(function()
var myArray = [ 'AB', 'AC']
function makeSpaceInactive(spaceKey)
jQuery.ajax(
contentType: 'application/json',
type: 'POST',
url: '/rpc/json-rpc/confluenceservice-v2/setSpaceStatus',
data: '["SPACEKEY", "ARCHIVED"]',
success: function(response)
console.log(response);
, error: function(response)
console.log(response);
);
);
$.each(myArray, function (index, value)
makeSpaceInactive(value);
);
)
myArray 中的值应该在 makeSpaceInactive 函数中与 SPACEKEY 所在的 data 函数循环。但我不知道如何用 myArray 值替换 SPACEKEY 数据?
【问题讨论】:
您想将整个数组传递给您的makeSpaceInactive
函数还是一次一个值?
一次一个值!
Pass array to ajax request in $.ajax()的可能重复
【参考方案1】:
嗯,你有一些 sintax 错误,比如最后一个 )
,但这不是我从你的问题中理解的。据我了解,您的问题是知道如何将 POST 参数传递给 AJAX 请求。
只需将['SPACEKEY','ARCHIVED']
替换为arrayelement:spaceKey
,如果您希望传递更多元素,请用逗号分隔它们。
例如。 arrayoneelement:spaceKey1,arraytwoelement:spaceKey2
请参考这个fiddle。 (我已对 AJAX 请求进行了注释,但数据值已正确填写)。
希望这对您有所帮助。如果您需要更多建议,请告诉我。
编辑:小提琴链接错误,已更正,抱歉。
【讨论】:
谢谢。我已经尝试过了,但是您在 Fiddle 中创建的脚本出现以下错误:“请求正文无法解析为 JSON。” @DannyvandenBerg 我想错误发生在 AJAX 调用中,请记住您已经设置了contentType: 'application/json',
,这意味着无论来自 /rpc/json-rpc/confluenceservice-v2/setSpaceStatus
的响应是什么,都必须是 JSON。我认为该错误来自您要求的“setSpaceStatus”。尝试将 contentType 设置为“text/plain”。【参考方案2】:
正如您在评论中所说,您希望一次传递一个值,以便发出多个 AJAX 请求。问题是“AJAX”中的“A”代表“异步”。所以你不能保证你的程序在发送新请求之前会等待响应。
您可能想要更改您的解决方案,我认为为数组中的每个元素发出多个 AJAX 请求并不是一个好主意。尝试将您的数组作为数据发送并让服务器端程序解释它。比如:
function makeSpaceInactive(myArray)
jQuery.ajax(
contentType: 'application/json',
type: 'POST',
url: '/rpc/json-rpc/confluenceservice-v2/setSpaceStatus',
data: arrayData:myArray,status:'ARCHIVED',
success: function(response)
console.log(response);
, error: function(response)
console.log(response);
);
);
让您的服务端脚本循环数组并返回适当的响应。希望对您有所帮助。
【讨论】:
谢谢!我猜它几乎可以工作了。但现在我收到以下错误:找不到 RPC 方法:setSpaceStatus 采用 1 个参数【参考方案3】:我终于搞定了。感谢您的支持!
var myArray ['spaceKey', 'spaceKey'];
function makeSpaceInactive(value)
jQuery.ajax(
contentType: 'application/json',
type: 'POST',
url: '/rpc/json-rpc/confluenceservice-v2/setSpaceStatus',
data: JSON.stringify([value, "ARCHIVED"]),
success: function(response)
console.log(response);
, error: function(response)
console.log(response);
);
;
$.each(myArray, function (index, value)
makeSpaceInactive(value);
);
【讨论】:
以上是关于jquery 如何遍历循环数组的主要内容,如果未能解决你的问题,请参考以下文章