Javascript 如何从数组中删除
我知道有类似的线程,但我已经尝试了你在那里提出的建议,但仍然无法解决我的问题Javascript 如何从数组中删除,javascript,Javascript,我知道有类似的线程,但我已经尝试了你在那里提出的建议,但仍然无法解决我的问题 for(var i = text.length-1; i>=0; i--) { if(text.charCodeAt(i) < 42 || text.charCodeAt(i) > 57) { text.splice(i,1); } } alert(text); 为什么是文本;没有执行?拼接有问题,请帮助
for(var i = text.length-1; i>=0; i--)
{
if(text.charCodeAt(i) < 42 || text.charCodeAt(i) > 57)
{
text.splice(i,1);
}
}
alert(text);
为什么是文本;没有执行?拼接有问题,请帮助我。未执行警报,因为您在脚本开头没有声明它
var text = [];
for(var i = text.length-1; i>=0; i--)
{
if(text.charCodeAt(i) < 42 || text.charCodeAt(i) > 57)
{
text.splice(i,1);
}
}
alert(text);
这是因为javascript中的字符串没有拼接方法。您需要在数组中转换它
text = text.split('');
text.splice(i,1);
text = text.join('');
而且,作为一个数组,不能使用charAt方法,而是
if(text[i] < 42 || text[i] > 57)
谈到实现这项任务的最佳方式,我更愿意建议从性能角度看一看比这更好的不同解决方案
在这里,您可以找到一个基准测试,在这里您可以看到如何使用string方法slice更高效
您可能正在寻找.slice方法
text.slice(i,1);
@AbdennourToumi Java!=JavaScript@AbdennourToumi语言可能混淆。。爪哇!=JavaScriptoh。对您是对的,创建一个JSFIDDLE.NET并在控制台中查看您正在使用的字符串。字符串没有拼接方法。文本显然是一个字符串,而不是一个空数组。将其转换为数组是可行的,但听起来有点过头了。函数string,index,howMany{return string.substring0,index+string.substringindex+howMany;}是的,我可以是另一个解决方案。我只是回答了他的问题,想知道为什么没有执行警报。这是因为for循环中的javascript错误。展望未来,有很多不同的解决方案来解决这一特殊任务。非常感谢。