Javascript 从文本区域删除多行

Javascript 从文本区域删除多行,javascript,jquery,Javascript,Jquery,我有一个文本区域,我想在用户单击按钮时删除多行 范例 我有下一个在文本区 Australia - Mobile Optus Australia - Mobile Telstra Australia - Mobile Vodafone Australia - Special Australia - Sydney Austria 我想删除第0,3,4行 结果必须是这样的: Australia - Mobile Telstra Australia - Mobile Vodafone Austria

我有一个文本区域,我想在用户单击按钮时删除多行

范例

我有下一个在文本区

Australia - Mobile Optus
Australia - Mobile Telstra
Australia - Mobile Vodafone
Australia - Special
Australia - Sydney
Austria
我想删除第0,3,4行

结果必须是这样的:

Australia - Mobile Telstra
Australia - Mobile Vodafone
Austria
我想第一排

var rows = document.querySelector('textarea').value.split("\n").length
但是我被卡住了,我想不出怎么做

:s

您可以在反向迭代中使用

功能移除线(EL、arr){
arr.sort((a,b)=>a-b);//排序,以防弄乱顺序
常量行=EL.value.trim().split(/\n/);
对于(设i=arr.length-1;i>=0;i--)线,拼接(arr[i],1);
EL.value=lines.join('\n')
返回EL.value;
}
const EL#u text=document.querySelector('text');
const EL#u rem=document.querySelector('#rem');
EL_rem.addEventListener('click',()=>removeLines(EL_text,[4,0,3])
/*QuickReset*/*{margin:0;框大小:border-box;}
文本区{
显示:块;
宽度:100%;
最小高度:120px;
}
删除0,3,4
0澳大利亚-移动Optus
1澳大利亚-移动电信
2澳大利亚-移动沃达丰
3澳大利亚-特别
4澳大利亚-悉尼
5奥地利

当您在不调用“length”的情况下应用拆分时,您将收到一个包含文本区域行的数组,例如:

var rows=document.querySelector('textarea').value.split('\n');
console.log(行)

澳大利亚-移动Optus
澳大利亚-移动电信
澳大利亚-移动沃达丰
澳大利亚-特别
澳大利亚-悉尼
奥地利

为什么确切地说
0,3,4
?输入总是有相同数量的行(行),唯一会改变的是内容,但行号总是43。而那些将被移除的线永远都是一样的。例如,我有这个输入
奥地利墨西哥美国巴西加拿大
然后删除行0,3,4
墨西哥美国
另一个例子
哥伦比亚古巴厄瓜多尔法国德国
然后删除行0,3,4
古巴厄瓜多尔
位置删除相当脆弱;最好根据文本内容删除行;在这种情况下,如果位置发生变化,代码就不需要改变