0

たとえば、私の配列が多次元の場合:

var myArray = [
    {
        key1: {
            key2: 1,
            ...
        },
        ...
    },
    {
        key1: {
            key2: 2,
            ...
        },
        ...
    }
];

myArray.map('key1').sum('key2');
= 3

これも可能性があります

myArray.map('key1').map('key2').sum();

しかし、それらを1つの呼び出しに組み合わせる方法はありmapますか?

4

1 に答える 1

0

map が文字列を取る場合、事実上pluckのショートカットになります。

Sugar のドキュメント で説明されているように、map はより伝統的に関数を受け取ることもできます。

map( マップ , スコープ )

配列を、各要素で map を呼び出した結果の値を含む別の配列にマップします。スコープはこのオブジェクトです。このメソッドをネイティブにサポートしていないブラウザーにこのメソッドを提供するだけでなく、この拡張メソッドは文字列も直接受け入れます。これは、各要素でそのプロパティを取得する (または関数を呼び出す) 関数のショートカットです。

戻り値: 配列

したがって:

myArray.map(function(x) { return x.key1.key2; }).sum()
于 2012-10-07T04:58:41.727 に答える