繁体   English   中英

如何直接访问(javascript)拆分值?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM