我一直在努力这几个小时,我觉得这很简单;
使用javascript我基本上想要遍历数组,获取索引的当前值,然后从数组中取消设置此值。我发现splice()应该适用于此但是我似乎无法清空数组,在arrary上总有一个值
var filtered = array("up", "down", "left");
function resetTags(){
var length = filtered.length;
for(i=0; i <= length; i++){
filtered.splice(i,1);
}
}
修改::
我将尝试更详细地解释一下:
我基本上试图跟踪所获得的所选类值的列表 从单击项目时: var filtered = array();
jQuery("li a").click(function () {
tag = jQuery(this).text();
addFiltered(tag);
});
function addFiltered(param){
var inArray = jQuery.inArray(param,filtered);
if(inArray > -1){
//param is in array, so we want to remove it from the filtered array
filtered.splice(index, 1);
});
}else{
//param isn't in array, so we want to add it to the array
filtered.splice(0, 0, param);
});
}
}
答案 0 :(得分:1)
如果要清空数组,请将其直接设置为空数组:
filtered = [];
如果要在清空数组之前使用这些值,只需在此之前迭代而不删除值,并在完成后清除它。
通过搞乱复杂的解决方案,你会获得什么?
答案 1 :(得分:0)
嗯,你正在增加。你试过减量吗?
var filtered = new Array("up", "down", "left");
function resetTags(){
var length = filtered.length;
for(i = length; i >= 0; i--){
filtered.splice(i,1);
}
}
这应确保拼接最终元素。
答案 2 :(得分:0)
数组定义不正确。这就是代码没有执行的原因
var filtered = ["up", "down", "left"];
function resetTags(){
var length = filtered.length;
for(i=0; i <= length; i++){
filtered.splice(i,1);
}
}
答案 3 :(得分:0)
答案 4 :(得分:0)
我基本上想要遍历数组,获取当前值 索引然后从数组中取消设置该值。
for(i=0; i <= length; i++){
filtered.splice(i,1);
}
我认为你没有明确定义(或者可能不知道),你正在尝试做什么。
您是否尝试编写pop(n)
方法,以便:
var a = [1,2,3,4]
var result = pop(3, a)
result == [ 1, 2, 4]
或者你只是想尝试走一个阵列并且每次都关掉第一个元素?如果是这样,你做错了。这只是一个shift()
var filtered = ["up", "down", "left"]
for(i = 0 ; i<= filtered.length; i++)
{
alert(filtered);
filtered.shift();
alert(filtered);
}