小编Bob*_*Bob的帖子

如何删除数组中的每个第二个和第三个元素?

我想在Javascript中删除数组中的每个第二和第三个元素.

我的数组看起来像这样:

var fruits = ["Banana", "yellow", "23", "Orange", "orange", "12", "Apple", "green", "10"];
Run Code Online (Sandbox Code Playgroud)

现在我想删除每个第二和第三个元素.结果如下所示:

["Banana", "Orange", "Apple"]
Run Code Online (Sandbox Code Playgroud)

我试图使用for-loop和splice:

for (var i = 0; fruits.length; i = i+3) {
    fruits.splice(i+1,0);
    fruits.splice(i+2,0);
};
Run Code Online (Sandbox Code Playgroud)

当然,这会返回一个空数组,因为在循环仍然执行时会删除元素.

我该怎么做才能正确?

javascript arrays

7
推荐指数
3
解决办法
1万
查看次数

jQuery ajax缓存禁用无法正常工作?

我正在开发一个使用ajax-request来检索信息的Firefox扩展.这是代码:

$.ajax({
        url: "http://127.0.0.1/foo/bar/Service?wsdl" + new Date().getTime(),
        beforeSend: function(request) { request.setRequestHeader("SOAPAction", "Group"); },         
        async: false,
        cache: false,
        type: "POST",   
        dataType: "xml",
        data: req,
        contentType: "text/xml; charset=\"utf-8\"",
        success: function (data, textStatus, xmlHttpRequest) {
        out = $(xmlHttpRequest.responseXML);
        }
    }); 
Run Code Online (Sandbox Code Playgroud)

当发送到服务器的数据发生变化时,我仍然得到相同的结果.我试图避免通过向URL和"缓存:假","新的日期()的getTime()." 这似乎不起作用.重新启动浏览器后,我得到了正确的结果.

有谁知道问题是什么?是否有某种会话处理,所以服务器仍然会回复旧的响应?

编辑:我做了很多测试和调试,我认为我发现了问题:每个包含session-id的ajax-request都保存了一个cookie,因此每次我再次执行请求时,服务器都会发送数据与cookie中的session-id进行会话.真的很糟糕的行为,我不知道可以通过ajax请求创建cookie.因此,解决问题所需要做的就是每次更改参数时都会删除此cookie的函数.再次感谢您的帮助.

ajax firefox jquery caching

6
推荐指数
1
解决办法
8758
查看次数

标签 统计

ajax ×1

arrays ×1

caching ×1

firefox ×1

javascript ×1

jquery ×1