使用jQuery将数组中的所有元素设置为小写并删除空格

时间:2015-02-22 10:37:20

标签: javascript jquery arrays

我有一组通过阅读文本文件创建的邮政编码。我希望逐步遍历数组中的每个项目并使其为小写,并删除任何空格。到目前为止,我有以下内容:



var postCodesCovered = new Array();
$.get('postcodes.txt', function(data){
  postCodesCovered = data.split('\n');
});
$.each(postCodesCovered , function(){
  $(this).toLowerCase().replace(/\s+/g, '');
});




这似乎没有做到这一点。是因为我没有将值设置回数组吗?

4 个答案:

答案 0 :(得分:3)

由于.get()async,您需要在success回调中移动代码,并且不需要使用this

var postCodesCovered;
$.get('postcodes.txt', function(data) {
    postCodesCovered = data.split('\n');
    $.each(postCodesCovered, function(index, value) {
        postCodesCovered[index] = value.toLowerCase().replace(/\s+/g, '');
    });

    // Do something with the data here
});

答案 1 :(得分:2)

@satpal是对的 - 您需要在成功回调中处理您的列表。每个都将遍历数组项,但您希望将它们转换为小写,因此map是更好的选择。 Map采用数组并转换每个返回新数组的项。有关详细信息,请参阅jQuery.map文档。

var postCodesCovered = [];
$.get('postcodes.txt', function(data) {
    postCodesCovered = $.map(data.split('\n'), function(value, index) {
        return value.toLowerCase().replace(/\s+/g, '');
    });
});

答案 2 :(得分:0)

这是......



var postCodesCovered = new Array();
$.each(postCodesCovered , function(idx, val){
  postCodesCovered[idx] = $(this).toLowerCase().replace(/\s+/g, '');
});




答案 3 :(得分:0)

function convertArray(CapsArray){
    lowcaseArray = [];
    for (var i = 0; i <CapsArray.length; i++) {
            lowcaseArray.push(CapsArray[i].replace(/\s+/g,"").toLowerCase());
        }
 return lowcaseArray;
}

上述功能应该可以胜任。

var YourLowCaseArray = convertArray(YourCapsArrayHere);