如何使用javascript从数组的每个项中删除字符串的特定部分?
鉴于以下情况:如何使用javascript从数组的每个项中删除字符串的特定部分?,javascript,arrays,string,loops,Javascript,Arrays,String,Loops,鉴于以下情况: var arr = [ "one,two,three", "four,five,six,seven", "eight,nine,ten", "11,12,13,14" ]; 从数组中的每个元素中删除第二个单词的最佳方法是什么?阵列的预期输出为: arr = [ "one,three", "four,six,seven", "eight,ten", "11,13,14" ]; 我觉得最合乎逻辑的方法是使用for循环
var arr = [
"one,two,three",
"four,five,six,seven",
"eight,nine,ten",
"11,12,13,14"
];
从数组中的每个元素中删除第二个单词的最佳方法是什么?阵列的预期输出为:
arr = [
"one,three",
"four,six,seven",
"eight,ten",
"11,13,14"
];
我觉得最合乎逻辑的方法是使用for循环遍历数组,并从每个元素中删除索引1,如下所示:
for(var i=0; i < arr.length; i++) {
i.splice(1,1).join(';');
}
for(变量i=0;i
(在循环中,我也尝试了
arr[I].splice(1,1).join(“;”);
)---但这两种方法都没有返回期望的结果。我做错了什么?最有效的方法是什么?您需要先拆分阵列,然后删除元素
var-arr=[
“一,二,三”,
“四,五,六,七”,
“八,九,十”,
"11,12,13,14"
];
对于(变量i=0;i 控制台日志(arr)代码>您需要先拆分数组,然后删除元素
var-arr=[
“一,二,三”,
“四,五,六,七”,
“八,九,十”,
"11,12,13,14"
];
对于(变量i=0;i 控制台日志(arr)代码>您可以对字符串使用正则表达式,它查找逗号、任意字符、非gready和另一个逗号,该逗号不包括在替换中
var arr=[“一、二、三、四、五、六、七、八、九、十、十一、十二、十三、十四”];
arr=arr.map(函数(a){
返回a.replace(/,*)(?=,)/,'';
});
控制台日志(arr)代码>您可以对字符串使用正则表达式,它查找逗号、任意字符、非gready和另一个逗号,该逗号不包括在替换中
var arr=[“一、二、三、四、五、六、七、八、九、十、十一、十二、十三、十四”];
arr=arr.map(函数(a){
返回a.replace(/,*)(?=,)/,'';
});
控制台日志(arr)代码>首先,必须在数组中打断字符串,以便:
elements = arr[i].split(',');
然后拼接第二个元素并将字符串连接回:
elements.splice(1,1)
result = elements.join(',');
最后,用新字符串替换字符串:
arrs[i] = result
总结:
for(var i=0; i<arr.length; i++){
elements = arrs[i].split(',');
elements.splice(1,1);
arrs[i] = elements.join(',');
}
for(var i=0;i首先必须在数组中断开字符串,以便:
elements = arr[i].split(',');
然后拼接第二个元素并将字符串连接回:
elements.splice(1,1)
result = elements.join(',');
最后,用新字符串替换字符串:
arrs[i] = result
总结:
for(var i=0; i<arr.length; i++){
elements = arrs[i].split(',');
elements.splice(1,1);
arrs[i] = elements.join(',');
}
for(var i=0;iArray.prototype.splice
函数返回删除的项
您需要存储数组,删除项,最后返回数组
var-arr=[
“一,二,三”,
“四,五,六,七”,
“八,九,十”,
"11,12,13,14"
];
功能字(arr、pos、长度){
length=length | | 1;//要删除的默认数字是1。
返回arr.map(函数(项){
var words=item.split(',');
words.splice(pos,length);//splice将项目移除到位。
返回单词。连接(',');
});
}
var arr2=拼接字(arr,1);
document.body.innerHTML=JSON.stringify(arr2,null,4);
body{font-family:monospace;white-space:pre;}
函数返回删除的项
您需要存储数组,删除项,最后返回数组
var-arr=[
“一,二,三”,
“四,五,六,七”,
“八,九,十”,
"11,12,13,14"
];
功能字(arr、pos、长度){
length=length | | 1;//要删除的默认数字是1。
返回arr.map(函数(项){
var words=item.split(',');
words.splice(pos,length);//splice将项目移除到位。
返回单词。连接(',');
});
}
var arr2=拼接字(arr,1);
document.body.innerHTML=JSON.stringify(arr2,null,4);
正文{font-family:monospace;white-space:pre;}
给你:
arr.map(x => x.replace(x.match(/,[^,]*/),""))
或
结果:
["one,three", "four,six,seven", "eight,ten", "11,13,14"]
正则表达式查找第一个逗号(,
),并获取后面不是逗号的所有内容([^,]*
)。字符串的这一部分将不替换为任何内容(“”
)
map
方法将此函数应用于数组的每个元素。给您:
arr.map(x => x.replace(x.match(/,[^,]*/),""))
或
结果:
["one,three", "four,six,seven", "eight,ten", "11,13,14"]
正则表达式查找第一个逗号(,
),并获取后面不是逗号的所有内容([^,]*
)。字符串的这一部分将不替换为任何内容(“”
)
map
方法将此函数应用于数组的每个元素。您可以使用来更改数组的每个项,并使用来从字符串中删除第二个值
var-arr=[
“一,二,三”,
“四,五,六,七”,
“八,九,十”,
"11,12,13,14"
];
arr=arr.map(函数(val){
返回val.replace(/([\w]+),[\w]+,(.*)/,“$1,$2”);
});
console.log(arr);
您可以使用来更改数组的每一项,并使用来从字符串中删除第二个值
var-arr=[
“一,二,三”,
“四,五,六,七”,
“八,九,十”,
"11,12,13,14"
];
arr=arr.map(函数(val){
返回val.replace(/([\w]+),[\w]+,(.*)/,“$1,$2”);
});
console.log(arr);
循环遍历数组中的每个元素
使用split()方法创建逗号分隔元素的数组
使用splice()方法删除阵列中的第二部分
以下是算法:
for(var i=0; i < arr.length; i++) {
var a = arr[i].split(",");
a.splice(1,1);
arr[i] = a.join();
}
for(var i=0;i
循环遍历数组中的每个元素
使用split()方法创建逗号分隔元素的数组
使用splice()方法删除阵列中的第二部分
以下是算法:
for(var i=0; i < arr.length; i++) {
var a = arr[i].split(",");
a.splice(1,1);
arr[i] = a.join();
}
for(var i=0;i