[英]How to directly access (javascript) split values?
有什么方法可以在不将拆分值放入单独值的情况下对其进行访问?
var content = "some|content|of";
var temp = content.split("|");
var iwilluseit = "something" + temp[1] + temp[2]
如何不使用temp变量? (内联iwilluseit var的设置)
它效率极低,但是您可以多次调用split:
var iwilluseit = 'something' + content.split('|')[1] + content.split('|')[2];
还有slice()+ join()选项:
var iwilluseit = 'something' + content.split('|').slice(1,2).join('');
但是,实际上,仅创建temp变量是最好的方法。
content.split("|").slice(1,3).join("")
不,您需要将Array.split()的结果分配给中间变量,然后才能使用它,除非您不介意为每个要获取的值调用Array.split()会对性能造成影响。
您可以修补String.protoype以添加一个方法,该方法将使用字符串数组并将其替换为字符串。
怎么样:
var iwilluseit = "something" + content.split("|").slice(1,3).join(""));
您也可以:
var iwilluseit = "something" + content.substr( content.indexOf( "|" ) ).split("|").join("");
当然,这仅在您只是尝试删除第一个值时才有效。
更重要的是:为什么需要排队?
如果不将其分配给变量的目的是能够在只能有一个Javascript表达式的上下文中执行此操作,则也可以使用闭包,并将其分配给其中的变量:
(function() { var temp = content.split("|"); return "something" + temp[1] + temp[2]; })()
这将在表达式上下文中可用,而不会影响性能。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.