Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript-从数组中删除_Javascript_Jquery - Fatal编程技术网

JavaScript-从数组中删除

JavaScript-从数组中删除,javascript,jquery,Javascript,Jquery,如何从该数组中删除测试值和空字符串?最好的方法是什么?如果您想删除单个项目,请检查它可能会帮助您 var arr = [ 4, "Pete", "test", 8, "John", "", "test" ]; 如果您想删除单个项目,请选中它可能会有所帮助 备选方案: 备选方案: 如果您知道数组中项目的索引,则可以轻松地使用类似拼接的方法 arr.索引,有多少个 howmany=要删除的项目数 如果您知道数组中项目的索引,则可以轻松地使用类似拼接的方法 arr.索引,有多少个 howmany=要

如何从该数组中删除测试值和空字符串?最好的方法是什么?

如果您想删除单个项目,请检查它可能会帮助您

var arr = [ 4, "Pete", "test", 8, "John", "", "test" ];

如果您想删除单个项目,请选中它可能会有所帮助

备选方案:

备选方案:


如果您知道数组中项目的索引,则可以轻松地使用类似拼接的方法

arr.索引,有多少个

howmany=要删除的项目数


如果您知道数组中项目的索引,则可以轻松地使用类似拼接的方法

arr.索引,有多少个

howmany=要删除的项目数


重复-重复-排列拼接排列排列索引'test',1@jAndy不是真的,有多个项目要删除。在这里多次使用indexOf是值得的,因为你是对的。没有意识到有多个值。我的解决方案无论如何都是有缺陷的,因为-1在no-matcharr.splice arr.indexOf'test',1上出现假阳性@jAndy不是真的,有多个项目要删除。在这里多次使用indexOf是值得的,因为你是对的。没有意识到有多个值。无论如何,我的解决方案是有缺陷的,因为在no-matchArray.prototype.filter上有-1个误报。filter的工作方式是非破坏性的,您需要将值赋回arr。除此之外,为什么不直接调用return v!='测试'?Array.prototype.filter的工作方式是非破坏性的,您需要将值分配回arr。除此之外,为什么不直接调用return v!='测试'?
var arr = [ 4, "Pete", "test", 8, "John", "", "test" ]; 
var l = arr.length;

while( l-- ) {
    if( arr[l] === "test" || arr[l] === "" ) {
        arr.splice(l, 1);
    }
}

//> arr
//[4, "Pete", 8, "John"]
var arr = [ 4, "Pete", "test", 8, "John", "", "test" ]
           .filter(function(v){return String(v).length && v !== 'test';});
//=> arr = [4, "Pete", 8, "John"];