Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.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_Arrays - Fatal编程技术网

Javascript 在每个帮助中,我要修剪()数组中的所有字符串

Javascript 在每个帮助中,我要修剪()数组中的所有字符串,javascript,jquery,arrays,Javascript,Jquery,Arrays,我将一个字符串拆分成一个数组,然后我想删除每个元素周围的空白。我正在使用jQuery。我可以用2个阵列成功地完成这项工作,但我知道这是不正确的。如何在数组中循环并修剪每个元素,使元素保持更改。谢谢你的提示。下面是我使用两个数组的工作代码。请告诉我做这件事的正确方法 var arVeh = vehicleText.split("|"); var cleanArry = new Array(); $.each(arVeh, function (idx, val) {

我将一个字符串拆分成一个数组,然后我想删除每个元素周围的空白。我正在使用jQuery。我可以用2个阵列成功地完成这项工作,但我知道这是不正确的。如何在数组中循环并修剪每个元素,使元素保持更改。谢谢你的提示。下面是我使用两个数组的工作代码。请告诉我做这件事的正确方法

var arVeh = vehicleText.split("|");
    var cleanArry = new Array();
    $.each(arVeh, function (idx, val) {

        cleanArry.push($.trim(this));

    });
干杯, ~ck在圣地亚哥

//a simple function
function trimArray(dirtyArray){
  $.map(dirtyArray.split("|"), function(idx, val){
    return $.trim(this);
  });
}

trimArray(vehicleArray);
我们应该这样做

或者你可以使用javascript的强大功能,并使用它。我对使用任何对象的
.prototype
还是有点陌生。。。因此,这并不能保证有效(但肯定可以做到)


您甚至不需要idx或val参数。这似乎适用于:

编辑:现在我已经了解了您真正想要的东西,请尝试使用地图:

var cleanVehicles = $.map(vehicleText.split("|"), $.trim);

你能不能不这样做

 var arVeh = vehicleText.split("|");

$.each(arVeh, function (idx, val) {

    arVeh[idx] = $.trim(this);

});

我建议不要将jQuery的开销用于简单的for循环

var arVeh = vehicleText.split("|");

for (var i = 0, l = arVeh.length; i < l; ++i) {
    arVeh[i] = $.trim(arVeh[i]);
});

不在javascript代码中“创建”数组(但会在内存中创建数组)


这将修剪值并将其设置为索引项。

您需要以下两个jQuery函数: 1.)通过能够编辑项的数组元素进行迭代:

2.)删除字符串开头和结尾的空格:

这样使用它们:

array = $.map(array, function(value) { return value.trim();});
检查此JSFIDLE:
您不必使用JQuery。这是你的香草解决方案:

testArray.map(Function.prototype.call、String.prototype.trim)


Function.prototype.call对testArray的每个元素调用trim()。就这么简单

您想通过不声明第二个数组来更有效地执行此操作吗?是的,我只想使用一个数组,arVehYes,他想找到一种方法来轻松地修剪数组的值。@darek,不,请看他上面的评论,他的代码正在运行,但他想更有效地执行此操作,我不是说您的代码不好,确实是很好的代码是的,我在jQuery网站上看到了这一点,它的工作原理是var foo=[1,2,3];$。每个(foo,函数(index,val){foo[index]=val+10;})@州长-我认为你错了。。。也许OP应该说明,根据您使用阵列原型的位置,它可能是不好的juju。我在Firefox扩展中的数组上使用了一个类似的原型(unique),出于某种原因,每当鼠标停留在任何东西上时,都会弹出一个空白的工具提示。Firefox不喜欢在Array中添加原型。如果你仔细看看他的问题,他说他已经知道如何做到这一点。他想得到一个数组,然后简单地去掉空白,不创建另一个数组。在我发布后看到了这一点,我已经更新了我的答案以使用map。但是这不是太简单,太有意义了吗?正如我在@Jerry的答案中所说的-这不是太简单,太有意义了吗?这显然是最好的答案。人们总是沉迷于使用jQuery,忘记了jQuery只是javascript而已。我只是好奇。。。你有没有关于每个美元的实际开销的数字?为了语法简洁,我更喜欢使用$.each,这对我来说比(可能)
中等性能更重要。但是我想当你在其中添加.split()时,它会弄脏干净的。每个+1=)@Derek-这取决于数组的大小。以下是一个简单的谷歌搜索所提供的:
var arVeh = vehicleText.split("|");

for (var i = 0, l = arVeh.length; i < l; ++i) {
    arVeh[i] = $.trim(arVeh[i]);
});
var arVeh = $.trim(vehicleText).split(/\s*\|\s*/);
vehicles = $.map(vehicleText.split("|"), function(e,i) { return $.trim(e) });
var my_arr = ['    cats', 'dogs    ', '  what  '];
$.each(my_arr, function (id, val) {
    my_arr[id] = $.trim(val);
});
console.log(my_arr);
array = $.map(array, function(value) { return value.trim();});