2016-08-15 4 views
0

javascriptの新機能です。私はここで
文字列値を持つ配列のキー値が一致した場合、配列から文字列の値を置き換えたい私の次のコードです:JavaScriptの検索は配列から文字列を置換します

var arr= []; 
arr[11] = 'XYZ'; 
arr[12] = 'ABC'; 

var string = "11-12"; 

私の出力は次のようになります。

var str ="XYZ-ABC"; 
+2

あなたはすでに何を試してみましたか? –

+0

stringの値は一意になりますか?配列の値には配列のインデックスは含まれませんか? – Blindman67

+0

文字列内の値は一意です – Vam

答えて

4

使用String#replace方法Aで折り返し電話。

var arr = []; 
 
arr[11] = 'XYZ'; 
 
arr[12] = 'ABC'; 
 

 
var string = "11 - 12"; 
 

 
// match all digits in string and replace it with 
 
// corresponding value in `arr` 
 
var res = string.replace(/\d+/g, function(m) { 
 
    return arr[m]; 
 
}) 
 

 
console.log(res);

0

あなたはそれが文字であるかどうかをチェックするために、ブール値を取得するために)(regx.testを使用することができます。

var arr = []; 
arr[11] = 'XYZ'; 
arr[12] = 'ABC'; 

if(/[a-zA-Z\s]+/.test(arr[11])&&/[a-zA-Z\s]+/.test(arr[12])){ 
var str=arr[11]+ " " +arr[12]; 
} 
0

あなただけの配列方法を必要とする(スプリットマップと参加)、正規表現やjqueryのでもない:

var str = string.split("-").map(elem => arr[elem]).join("-"); 
関連する問題