首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >JS -拆分字符串并循环遍历结果

JS -拆分字符串并循环遍历结果
EN

Stack Overflow用户
提问于 2011-12-06 09:17:58
回答 5查看 111.5K关注 0票数 32

在JS中,我在解决如何拆分来自AJAX调用的字符串时遇到了麻烦。

这就是我到目前为止所知道的:

代码语言:javascript
复制
xmlhttp.onreadystatechange = function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
feedUpdateResponse = xmlhttp.responseText;
/////...split script.../////
}
}
xmlhttp.open("GET","https://myDomain.com/myScript.aspx",true);
xmlhttp.send();

在上面的脚本中,我需要添加一个小函数来拆分从AJAX调用返回的字符串。

字符串只包含DIVs的名称,如下所示:

代码语言:javascript
复制
feedUpdateResponse = "div1/div2/div3/div4"

我想首先用斜杠(/)拆分字符串,然后循环遍历不同的值,并对页面上的这些元素执行操作。

为了给出我需要实现什么的想法,我给出了这个例子,它是ASP和JS的混合-这是我唯一可能描述它的方式(并表明我已经尝试过了):

代码语言:javascript
复制
MyArray = Split(feedUpdateResponse,"/")
For Each X In MyArray
documentGetElementById('updateAvailable_'+x).style.visibility="visible";
Next

在我的页面上,我有一个生成jquery carousel的ASP脚本,所有这些都包含在单独的DIVs中。DIV1名为DIV1、DIV2等。例如,在DIV1中有一个名为updateAvailable_div1的文本元素,它将提醒用户“此提要有新照片可用,请单击刷新按钮”。

有没有人能给我解释一下,我怎样才能把上面的例子改成在JS中工作?只需要将字符串拆分成数组并循环拆分后的值...

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-12-06 09:24:47

您可以使用.split()在指定字符上拆分字符串,并以数组形式返回结果。因此,这只是一个遍历数组的问题:

代码语言:javascript
复制
// given your existing variable
// feedUpdateResponse = "div1/div2/div3/div4" as set in the
// code in the question, add this:

var a = feedUpdateResponse.split("/"),
    i;

for (i = 0; i < a.length; i++) {
    document.getElementById("updateAvailable_" + a[i]).style.visibility
                                                                 = "visible";
}
票数 43
EN

Stack Overflow用户

发布于 2011-12-06 09:23:11

通过string.split("/")获取您的阵列。使用您选择的方法迭代数组。我更喜欢Array.forEach()

代码语言:javascript
复制
feedUpdateResponse.split("/").forEach(function (item) {
    document.getElementById(item).style.visibility = "visible";
});

有关在旧浏览器中使用.forEach()的信息,请参阅compatibility notes

票数 37
EN

Stack Overflow用户

发布于 2021-02-13 17:55:16

作为另一种选择:

代码语言:javascript
复制
for(element of feedUpdateResponse.split("/")){
    do_your_thing();
}

使用for..in将为您提供数组上的索引(键),而for..on将为您提供数组的元素(值)。

您还可以执行以下操作:

代码语言:javascript
复制
for ([index, element] of Object.entries(feedUpdateResponse.split("/"))) {
    do_your_thing();
}

在您需要索引的情况下。

缺点是它与IE不兼容,但对于个人项目或快速自动化脚本,它通常对我来说已经足够好了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8394163

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档