Использование split / join для замены строки массивом - PullRequest
5 голосов
/ 22 июня 2011

Я пытаюсь заменить значение item значениями в массиве arr, но я получаю это, только если использую: arr [1], arr [2] ... если я просто позволю arr, возвращает abcdefg.

Я программист на PHP, и у меня минимальное представление о JavaScript, может кто-нибудь подсказать мне?

var item = 'abcdefg';
var arr = new Array();
arr[1] = "zzz";
arr[2] = "abc";
var test = item.split(arr);
alert(test.join("\n"));

Ответы [ 2 ]

9 голосов
/ 22 июня 2011

Использование:

var item = 'Hello, 1, my name is 2.';
var arr = new Array();
arr [1] = 'admin';
arr [2] = 'guest';
for (var x in arr)
    item = item.replace(x, arr[x]);
alert(item);

Производит:

Hello, admin, my name is guest.
2 голосов
/ 22 июня 2011

Разделение использует регулярные выражения, поэтому

"My String".split('S') == ["My ","tring"]

Если вы пытаетесь заменить строку:

"abcdef".replace('abc','zzz') == "zzzdef"
...