[英]Modifying White Space Elements From Element in Array
我有以下数组数组:
arr1= ["avd befe, bla, bla, bla, bla", "cveve devev, bla, bla, bla, bla", "aava beve. cavbr, bla, bla, bla, bla", "feve gyhyh, bla, bla, bla, bla", "ibtbt, bla, bla, bla, bla"]
在我的示例中,我专注于数组中的第一组字符。 这些可以包括格式为“ x”,“ xy”(两个字符组之间的空白)和“ xyz”(三个字符组之间的两个空白)的项目。
我想从第三组元素中删除y(以使“ xyz”成为“ xz”)。 上面显示的arr1是一个示例-我正在使用的数组有数百个条目。 在上面的示例中,我希望“ aava beve。cavbr”成为arr1中的第三个元素中的“ aava cavbr”。
我根据您的问题做出假设,这些假设将始终且仅在嵌套数组中排在首位。
// loop over the inner arrays
arr1.forEach(function(innerArr) {
var parts = innerArr[0].split(' ');
innerArr[0] = parts[0] + ' ' + parts[ parts.length - 1 ];
});
如果这些元素中再也没有空格(例如,它总是“ xyz”,而不是“ xy其他东西中有空格z”),则可以执行innerArr[0].replace(/\\s[^ ]\\s/, '');
但是我不清楚您的数据的确切格式。
编辑:
基于新的数据格式,这是您需要的更多内容。
var newArr = arr1.map(function(val) {
var parts = val.split(',');
var words = parts[0].split(' ');
if (words.length > 2) {
parts[0] = words[0] + ' ' + words[ words.length - 1 ];
}
return parts.join(',');
});
如果我正确理解您的问题,也许是这样的代码:
arr1.map(function(ele){
var current = ele[0].split(' ');
var head = current.shift(); // head is first group
var tail = current.pop(); // tail is last group
// console.log(head.concat([' '],tail));
return head.concat([' '],tail);
});
在我看来,您想要获取第一个和最后一个值,并用空格字符分隔它们。 这是我想到的最简单的方法:
var arr1 = ["avd befe, bla, bla, bla, bla", "cveve devev, bla, bla, bla, bla", "aava beve. cavbr, bla, bla, bla, bla", "feve gyhyh, bla, bla, bla, bla", "ibtbt, bla, bla, bla, bla"]
function clean(str) {
var foo = str.split(",")[0];
var bar = foo.substr(0, foo.indexOf(" ")) + foo.substr(foo.lastIndexOf(" "));
return str.replace(foo, bar);
}
for (var i = 0; i < arr1.length; i++) {
arr1[i] = clean(arr1[i]);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.