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上创建实时演示。另外,检查是否支持箭头功能。这就成功了,谢谢你们的帮助。。。我知道网上有很多关于这件事的东西,但这件事直接超出了我的想象。干杯