-1

簡単な JavaScript の質問:

(50=50; 49=49; 143=143; 4005=4005; ...)
を (50; 49; 143; 4005; ...) に変換したい配列があります。

name=value ペアでは、名前は常に値と同じになります。
常に数値になります (ただし、長さはさまざまです)。

.split を使用して頭を悩ませることはできません

ありがとう

4

1 に答える 1

1

あなたがこのような配列を持っていることを意味すると仮定します:

var arr = ['50=50;','49=49;','143=143;','4005=4005;'];

次に、次splitのように使用できます。

var newArr = [], ii;
for (ii = 0; ii < arr.length; ii += 1) {
    newArr.push(parseInt(arr[ii].split('=')[0], 10));
}

これにより、次のnewArrようになります。

var newArr = [50, 49, 143, 4005];

動作する方法splitは、区切り文字列に基づいて文字列を配列に分割することです。この例では'='、区切り文字として使用しているため、次のような配列になります。

['50', '50;']
['49', '49;']
// etc.

次に、最初の要素にインデックスを付け、それをに渡してparseInt数値を生成し、push数値要素のみを含む新しい配列に渡します。

これが実際のです。

補遺

実際のJavaScript配列ではなく、配列に変換したい文字列から始めている場合は、前の手順の前にこの手順を追加して、元の配列を取得します。

var str = '(50=50; 49=49; 143=143; 4005=4005;)';
var arr = str.replace(/\(|\)|;/g, '').split(' ');
于 2012-05-09T12:39:00.810 に答える