2

私はこのような配列を持っています

[2003, 5010, 4006, 5007, 2003, 5010]

この命令を使用して特定の列を抽出していますが、上記の出力が得られます

// profiles is a multidimensional array
var pofileIds   =   profiles.map((el) => el.TargetProfileId)

今、私はこのような出力が欲しい

[{ ids : 2003}, { ids : 5010 },{ ids : 4006 },{ ids : 5007 },{ ids : 2003 }]

またはこれ

ids=2003&ids=5010&ids=4006&ids=5007&ids=2003

私は既存のプロジェクトに取り組んでおり、これを変更することはできません。目的のデータを返すには、asp.net サービスを呼び出す必要があります。アプリケーションはウェブ上で動作しており、モバイルに変換する作業を行っていますが、モバイル用にウェブと同じサービスを使用する必要があります。

4

4 に答える 4

1

使用する(el) => ...とエラーになります。このようにしてみてください

var arr = [2003, 5010, 4006, 5007, 2003, 5010];

var profileIds = arr.map(function (elem) {
    return { "ID": elem };
});
于 2013-10-10T08:13:29.547 に答える
0

試す:

profiles.map(el => ({ ids: el.TargetProfileId }))

ECMAScript 6アロー関数の理解から:

中かっこは関数の本体を示すために使用されるため、関数本体の外側でオブジェクト リテラルを返したいアロー関数は、リテラルをかっこで囲む必要があります。

于 2013-10-10T08:02:55.777 に答える
0

あなたが与えた答えとあなたの時間をありがとう。ところで、私はここに投稿しているこれに対するいくつかの簡単な解決策を見つけました.

これが私の配列です

[2003, 5010, 4006, 5007, 2003, 5010]

最初に、ユーザーjsonscriptからこの命令を使用しました。しかし、私はそれを少し変更する必要がありました

var pofileIds   =   profiles.map((el) => { return { "ids": el.TargetProfileId }})

これにより、この結果が生成されます

[Object {ids=2003}, Object {ids=5010}, Object {ids=4006}, Object {ids=5007}, Object {ids=2003}, Object {ids=5010}]

次にjqueryを使って$.param

pofileIds   =   pofileIds.map((el) => $.param(el) )

出力

["ids=2003", "ids=5010", "ids=4006", "ids=5007", "ids=2003", "ids=5010"]

そして最後にJavaScriptで参加

pofileIds   =   pofileIds.join("&")

出力

ids=2003&ids=5010&ids=4006&ids=5007&ids=2003&ids=5010

それが誰かを助けることを願っています。

于 2013-10-10T09:08:26.563 に答える
-1

純粋なJSを使用すると、非常に簡単になります。

var myArray= [2003, 5010, 4006, 5007, 2003, 5010],
myObject,
myResponse = [];
for (var index in myArray)
{
    myObject = new Object();
    myObject.ids = myArray[index];
    myResponse.push(myObject);
}

//Output in the console for double check
console.log (myResponse);
于 2013-10-10T08:04:45.340 に答える