2009-11-10 4 views
0

Есть ли способ получить доступ к значениям split без их отдельного значения?Как получить доступ к (javascript) значениям split?

var content = "some|content|of"; 

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

Как это сделать ж/о темп переменной ?? (Встроенные в настройки iwilluseit вар)

ответ

4

Это невероятно неэффективно, но вы могли бы назвать раскол несколько раз:

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

Там же ломтик() + Join() вариант:

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

На самом деле, просто создание переменной temp - лучший способ пойти.

0

Нет, вам нужно назначить результат Array.split() промежуточной переменной до ее использования, если только вы не возражаете против хита производительности вызова Array.split() для каждого значения, которое вы хотите захватить.

Вы можете исправить String.protoype, чтобы добавить метод, который примет массив строк и заменит его на строку.

0

Как насчет:

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

Вы также можете сделать:

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

Конечно, это будет работать только тогда, когда вы просто пытаетесь удалить первое значение.

Что еще более важно: Зачем вам это нужно?

+0

Причина в том, что мне нужно было только одно значение из исходного контента. Поэтому я думал, что создание новой переменной для этой части не обязательно. –

+0

В этом примере используются две части. Там огромная разница. –

0

Если цель не присваиваем его переменной, чтобы быть в состоянии сделать это в контексте , где вы можете иметь только одно выражение Javascript, вы можете также использовать замыкание, и присвоить его переменной в нем :

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

Какой бы использоваться в контексте выражения, и нет потери производительности.

Смежные вопросы