Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.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_Lodash - Fatal编程技术网

Javascript 如何从字符串数组中删除逗号

Javascript 如何从字符串数组中删除逗号,javascript,lodash,Javascript,Lodash,我有一个数组列表,如下所示: 0: "1 Trenchard Road, , , , Saltford, Bristol, Avon" 1: "10 Trenchard Road, , , , Saltford, Bristol, Avon" 2: "11 Trenchard Road, , , , Saltford, Bristol, Avon" 3: "12 Trenchard Road, , , , Saltford, Bristol, Avon" 我想去掉中间的逗号: , , ,

我有一个数组列表,如下所示:

0: "1 Trenchard Road, , , , Saltford, Bristol, Avon"
1: "10 Trenchard Road, , , , Saltford, Bristol, Avon"
2: "11 Trenchard Road, , , , Saltford, Bristol, Avon"
3: "12 Trenchard Road, , , , Saltford, Bristol, Avon"
我想去掉中间的逗号:

 , , , 
我正在使用Lodash,并研究了如何使用
。.compact()

让我知道你的想法

更新

                var addressArray = getAddressData.data.Addresses;

                scope.items = _.compact(addressArray);

                console.log(scope.items);
你可以分为昏迷、空白和连接

var str = "1 Trenchard Road, , , , Saltford, Bristol, Avon";
var result = str.split(',').filter(x => x.trim()).join()
console.log(result); // 1 Trenchard Road, Saltford, Bristol, Avon
注意:使用ES6(
=>
)如果在您的环境中不起作用,您可以用经典的
函数
替换它

函数的完整示例:

let arr = [
    '1 Trenchard Road, , , , Saltford, Bristol, Avon',
    '10 Trenchard Road, , , , Saltford, Bristol, Avon',
    '11 Trenchard Road, , , , Saltford, Bristol, Avon',
    '12 Trenchard Road, , , , Saltford, Bristol, Avon'
];

let result = arr.map(i => i.split(',').filter(x => x.trim()).join());
ES5同等标准:

var result = arr.map(function(i) {
    return i.split(',').filter(function(x) {
        return x.trim();
    }).join();
});
arr.map(function (e) {
    return e.replace(/(,\s*)+/, ',');
});
你可以分为昏迷、空白和连接

var str = "1 Trenchard Road, , , , Saltford, Bristol, Avon";
var result = str.split(',').filter(x => x.trim()).join()
console.log(result); // 1 Trenchard Road, Saltford, Bristol, Avon
注意:使用ES6(
=>
)如果在您的环境中不起作用,您可以用经典的
函数
替换它

函数的完整示例:

let arr = [
    '1 Trenchard Road, , , , Saltford, Bristol, Avon',
    '10 Trenchard Road, , , , Saltford, Bristol, Avon',
    '11 Trenchard Road, , , , Saltford, Bristol, Avon',
    '12 Trenchard Road, , , , Saltford, Bristol, Avon'
];

let result = arr.map(i => i.split(',').filter(x => x.trim()).join());
ES5同等标准:

var result = arr.map(function(i) {
    return i.split(',').filter(function(x) {
        return x.trim();
    }).join();
});
arr.map(function (e) {
    return e.replace(/(,\s*)+/, ',');
});
您可以将JavaScript与正则表达式一起使用来删除额外的逗号

arr.map(e => e.replace(/(,\s*)+/, ','));
ES5同等标准:

var result = arr.map(function(i) {
    return i.split(',').filter(function(x) {
        return x.trim();
    }).join();
});
arr.map(function (e) {
    return e.replace(/(,\s*)+/, ',');
});

正则表达式
(,\s*)+
将搜索一个或多个逗号,逗号之间用任意数量的空格分隔

var arr=[“雅芳布里斯托尔索尔特福德特伦查德路1号”、“雅芳布里斯托尔索尔特福德特伦查德路10号”、“雅芳布里斯托尔索尔特福德特伦查德路11号”、“雅芳布里斯托尔索尔特福德特伦查德路12号”];
arr=arr.map(e=>e.replace(/(,\s*)+/,','));
控制台日志(arr);
document.getElementById('result').innerHTML=JSON.stringify(arr,0,4)
您可以将JavaScript与正则表达式一起使用来删除额外的逗号

arr.map(e => e.replace(/(,\s*)+/, ','));
ES5同等标准:

var result = arr.map(function(i) {
    return i.split(',').filter(function(x) {
        return x.trim();
    }).join();
});
arr.map(function (e) {
    return e.replace(/(,\s*)+/, ',');
});

正则表达式
(,\s*)+
将搜索一个或多个逗号,逗号之间用任意数量的空格分隔

var arr=[“雅芳布里斯托尔索尔特福德特伦查德路1号”、“雅芳布里斯托尔索尔特福德特伦查德路10号”、“雅芳布里斯托尔索尔特福德特伦查德路11号”、“雅芳布里斯托尔索尔特福德特伦查德路12号”];
arr=arr.map(e=>e.replace(/(,\s*)+/,','));
控制台日志(arr);
document.getElementById('result').innerHTML=JSON.stringify(arr,0,4)

使用数组过滤功能

["1 Trenchard Road", , , , "Saltford", "Bristol", "Avon"].filter(function(i){return i})

使用数组过滤函数

["1 Trenchard Road", , , , "Saltford", "Bristol", "Avon"].filter(function(i){return i})

请在JS中找到以下解决方案:

for(var i=0;i<arr.length;i++) { 
    if(arr[i].indexOf(',') > -1) { 
      console.log(arr[i].replace(/,/g,'')); 
    } 
}
for(var i=0;i-1){
log(arr[i].replace(/,/g',);
} 
}

请在JS中找到以下解决方案:

for(var i=0;i<arr.length;i++) { 
    if(arr[i].indexOf(',') > -1) { 
      console.log(arr[i].replace(/,/g,'')); 
    } 
}
for(var i=0;i-1){
log(arr[i].replace(/,/g',);
} 
}


我将如何循环我的数组?要循环,可以使用forEach。我将如何循环我的数组?要循环,可以使用forEach。无需使用空字符串检查修剪过的字符串,因为空字符串是错误的,只需使用
.filter(x=>x.trim())
。你能给我举一个它通过for each循环的例子吗?不需要用空字符串检查修剪过的字符串,因为空字符串是假的,只需使用
.filter(x=>x.trim())
。你能给我一个例子,说明它是通过一个for each循环的吗?这会使我所有的数组项再次成为一个数组吗?@MaxLynn下面的代码会使所有数组项再次成为一个数组,用于(var i=0;i-1){arr[i]=arr[i]。替换(/,/g,,);}。如果现在你检查var arr…,那么你将得到没有逗号(,)的数组列表。。我希望这个解决方案有帮助。这会使我的所有数组项再次成为数组吗?@MaxLynn下面的代码会使所有数组项再次成为(var I=0;I-1){arr[I]=arr[I]。替换(/,/g,,);}}如果现在你检查var arr…,那么你将得到没有逗号(,)的数组列表。。我希望此解决方案有帮助。很抱歉,我无法使您的代码正常工作。。var addressArray=getAddressData.data.Addresses.map(e=>e.replace(/(,\s*)+/,','));我的大口喝不下去了it@MaxLynn是的,应该可以,如果不行,就在JSFIDLE上创建实时演示。另外,检查是否支持箭头功能。这就成功了,谢谢你们的帮助。。。我知道网上有很多关于这件事的东西,但这件事直接超出了我的想象。干杯很抱歉我不能让你的代码正常工作。。var addressArray=getAddressData.data.Addresses.map(e=>e.replace(/(,\s*)+/,','));我的大口喝不下去了it@MaxLynn是的,应该可以,如果不行,就在JSFIDLE上创建实时演示。另外,检查是否支持箭头功能。这就成功了,谢谢你们的帮助。。。我知道网上有很多关于这件事的东西,但这件事直接超出了我的想象。干杯