2

さて、私はこの簡単なコードを持っています:

for(var i=0; i<lines.length; i++) {
    elements += myFunction(lines[i]);
}

は最初elementsは空の配列で、myFunction()文字列の配列を返す単なる関数です。

問題はmyFunction()、単一の文字列を含む配列を返す場合、配列+=concat ではなく文字列 concat として解釈されることです。ループの最後では、結果は単なる長い文字列であり、配列ではありません。

push()連結の代わりに値を試してみましたが、これは単一項目の配列を持つ 2 次元の行列を与えるだけです。

この型キャストの問題を解決するにはどうすればよいですか? 前もって感謝します !

4

5 に答える 5

1

試す :

 for(var i=0; i<lines.length; i++) {
        elements [i] = myFunction(lines[i]);
    }

問題を解決すると思います。

于 2012-12-18T06:47:09.420 に答える
1

配列concat関数を使用できます。

elements = elements.concat(myFunction(lines[i]));
于 2012-12-18T06:47:52.197 に答える
0
let newArray = [].concat(singleElementOrArray)
于 2016-08-10T05:46:12.573 に答える
0

おそらく、次のようなものが必要です。

var arrs = [[0],[1,2],[3,4,5],[6]];
var result = [];

for (var i=0, iLen=arrs.length; i<iLen; i++) {
  result = result.concat(arrs[i]);
}

alert(result); // 0,1,2,3,4,5,6

ああ、関数の結果を連結したい。同じ概念、他の回答を参照してください。

于 2012-12-18T06:53:28.327 に答える
0

使用することもできますmyArray[myArray.length] = someValue;

于 2012-12-18T06:56:25.910 に答える