2013-12-10 20 views
12

の先頭にテキストを追加I持って次のように内容を含む配列:Javascriptが各配列要素

["ZS125-48ATab", "STR125YBTab", "KS125-24Tab", "ZS125-50Tab", "DFE125-8ATab", "ZS125-30Tab", "HT125-8Tab", "HT125-4FTab", "STR50Tab"] 

それは配列の各要素の前に#記号を付加することが可能です。

ありがとうございました。

答えて

13
for(var i=0;i<array.length;i++){ 
    array[i]="#"+array[i]; 
} 
15

反復配列を超えるとちょうどあなたが

arr = arr.map(function(e) {return '#' + e}); 
+0

新規参入者がいることを、私は高担当者のユーザーは、このような「質問」に答えるべきではないと思うんとき、私は理解することができます。 closevote(友好的な "あなたは何を試しましたか"のコメント)はもっと役立つでしょう。 – georg

+2

@ thg435 - 本当に難しいことではないにしても、正当な質問のように思えます。少し試行錯誤して判断してください。 – adeneo

+0

"コードを尋ねる質問は、解決しようとしている問題を最小限に理解していることを証明しなければなりません。 – georg

1

forEach方法(reference

を使用して操作を行うことができ、新しいブラウザで #

var arr = [your array]; 

for (var i=arr.length; i--;) { 
    arr[i] = '#' + arr[i]; 
} 

FIDDLE

を追加します

var array = ["ZS125-48ATab", "STR125YBTab", "KS125-24Tab", "ZS125-50Tab", "DFE125-8ATab", "ZS125-30Tab", "HT125-8Tab", "HT125-4FTab", "STR50Tab"]; 
array.forEach(function(element, index) { 
    array[index] = '#' + element; 
}); 
1

次のコードは、仕事だろう:

var t = ["ZS125-48ATab", "STR125YBTab", "KS125-24Tab", "ZS125-50Tab", "DFE125-8ATab", "ZS125-30Tab", "HT125-8Tab", "HT125-4FTab", "STR50Tab"]; 

    for(var i=0;i<t.length;i++){ 
     t[i] = "#"+t[i]; 
    }  

参照のデモhere

3

あなたはこのようにそれを行うことができます。

array = ('#' + array.join('#')).match(/#[^#]*/g) || []; // null || [] 

次のトリックが同様に動作しますが、私はなぜsplitが最初のシャープを無視するのだろう...

array = ('#' + array.join('#')).split(/(?=#)/); 

確かに、私はこのシナリオをむしろ期待していました:"#a#b#c" -> ["", "#a", "#b", "#c"]

とにかく、私はmatchが失敗した場合はnullを返すので、2番目の方法が好きです。 ES6

var arr = ['first', 'second', 'third'];  
arr = arr.map(i => '#' + i); 

結果について

+1

+1お手入れの方法がわかりにくいです:-) – acostache

+0

@acostache汚いですがおそらくもっと高価です:-) – leaf

8

例:

console.log(arr); // ["#first", "#second", "#third"] 
+0

あなたのコードが何をしているのか、理由は何ですか?問題を解く。ほとんどの場合、コードが含まれていても(たとえそれが機能していても)、OPが問題を理解するのに役立たない場合があります。 – SuperBiasedMan

+0

ありがとう、それを修正しました。 –

関連する問題