2

文字列'rgb(255,0,0)'があり、小数の配列を取得する必要があります。

次のスニペットは私に望ましい結果を与えるようです。何か提案、懸念、より良い方法はありますか?

var arrRGB = pagedefault.nodelist.style.color.match(/\d+/g); //gives me ["255","0","0"]
arrRGB[0] = Number(arrRGB[0]) / 255;
arrRGB[1] = Number(arrRGB[1]) / 255;
arrRGB[2] = Number(arrRGB[2]) / 255;
4

2 に答える 2

3
'rgb(255,0,0)'.match(/\d+/g).map(Number) // ==> [255, 0, 0]

実装がある場合に機能しますmap

于 2012-07-26T17:39:09.770 に答える
1

ロジックの一部をforループでラップします。

var arrRGB = pagedefault.nodelist.style.color.match(/\d+/g);
for (var i = 0; i < arrRGB.length; i++) {  
    arrRGB[i] = Number(arrRGB[i]) / 255;
}

それ以外の場合、これは問題ないように見えます。

于 2012-07-26T17:38:38.273 に答える