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

时间:2009-11-10 22:13:02

标签: javascript

有没有办法访问拆分值而不将它们放入单独的值?

var content = "some|content|of"; 

var temp = content.split("|");   
var iwilluseit = "something" + temp[1] + temp[2]

如何使用 temp 变量? (内联设置 iwilluseit var)

6 个答案:

答案 0 :(得分:4)

效率极低,但你可以多次调用split:

var iwilluseit = 'something' + content.split('|')[1] + content.split('|')[2];

还有slice()+ join()选项:

var iwilluseit = 'something' + content.split('|').slice(1,2).join('');

但是,真的,只是创建临时变量是最好的方法。

答案 1 :(得分:1)

content.split("|").slice(1,3).join("")

答案 2 :(得分:0)

不,你需要在使用之前将Array.split()的结果分配给一个中间变量,除非你不介意为你想要抓取的每个值调用Array.split()的性能。

您可以修补String.protoype以添加一个方法,该方法将获取一个字符串数组并将其替换为字符串。

答案 3 :(得分:0)

怎么样:

var iwilluseit = "something" + content.split("|").slice(1,3).join(""));

答案 4 :(得分:0)

你也可以这样做:

var iwilluseit = "something" + content.substr( content.indexOf( "|" ) ).split("|").join("");

当然,只有在您尝试删除第一个值时才会有效。

更重要的是: 为什么你需要它排队?

答案 5 :(得分:0)

如果不将其分配给变量的目的是能够在上下文中执行此操作 你只能有一个Javascript表达式,你也可以使用一个闭包,和 将它分配给它中的变量:

(function() { var temp = content.split("|"); return "something" + temp[1] + temp[2]; })()

哪个可用于表达式上下文,而不会影响性能。