2016-01-08 7 views
5

から配列を取得していません。次のコードの問題は何ですか?私は配列にオブジェクトから変換するために、マップ・メソッドを使用していたオブジェクト

var data = { 
    "productName": "fsdfsdf", 
    "productDesc": "", 
    "category": null, 
    "categoryName": "", 
    "style": null, 
    "styleName": "", 
    "substyle": null, 
    "substyleName": "", 
    "store": null, 
    "storeName": "", 
    "stand": null, 
    "standName": "", 
    "rack": null, 
    "rackName": "", 
    "roll": null, 
    "rollName": "", 
    "color": null, 
    "width": "", 
    "widthunit": "meter", 
    "length": 0, 
    "lengthunit": "meter", 
    "pieces": "", 
    "cutofquantity": "", 
    "estimatedConsumption": "" 
} 

var key = $.map(data, function(value, index) { 
    return index; 
}); 
var value = $.map(data, function(value, index) { 
    return value; 
}); 

console.log(value) 

ライブたとえばthis JSFiddleを参照してください。

+5

。 –

+0

あなたは '$ .each'と'プッシュ()で動作することができますhttps://jsfiddle.net/mbbh5xky/4/を確認してください ' –

答えて

0

あなたはこの下のような何かを行うことができます:

var data = { 
    "productName": "fsdfsdf", 
    "productDesc": "", 
    "category": null, 
    "categoryName": "", 
    "style": null, 
    "styleName": "", 
    "substyle": null, 
    "substyleName": "", 
    "store": null, 
    "storeName": "", 
    "stand": null, 
    "standName": "", 
    "rack": null, 
    "rackName": "", 
    "roll": null, 
    "rollName": "", 
    "color": null, 
    "width": "", 
    "widthunit": "meter", 
    "length": 0, 
    "lengthunit": "meter", 
    "pieces": "", 
    "cutofquantity": "", 
    "estimatedConsumption": "" 
}; 

var arr = Object.keys(data).map(function(k) { return data[k] }); 
console.log(arr) 

フィドルの周りにプレイする:https://jsfiddle.net/u5t4L55g/

+0

は、私は、キーと値の両方が必要です。値のみ – Deen

+0

@Deenを与えている:あなたは自分の配列がどのように見えるべきか投稿することができます...私はうわー応じ – Thalaivar

6

をあなたがあなたの特性の一つとしてlength: 0を持っているので、jQueryのは、オブジェクトが配列の代わりにあると考えていますオブジェクト。

それを0から0(包括的ではない)の数値インデックスをループおよび長さがゼロの配列を生成します。 objectの各property貫通

+0

それを形成することになる...それは見事なものだった... – Thalaivar

+0

まあ...発見のおかげでそれはおそらく、なぜだろう。 –

+0

だからこそクエンティン。 – Jai

0

ループと以下のようにアレイ内keyvalueを押します。これがあなたを助けることを願っています。

var data = { 
 
    "productName": "fsdfsdf", 
 
    "productDesc": "", 
 
    "category": null, 
 
    "categoryName": "", 
 
    "style": null, 
 
    "styleName": "", 
 
    "substyle": null, 
 
    "substyleName": "", 
 
    "store": null, 
 
    "storeName": "", 
 
    "stand": null, 
 
    "standName": "", 
 
    "rack": null, 
 
    "rackName": "", 
 
    "roll": null, 
 
    "rollName": "", 
 
    "color": null, 
 
    "width": "", 
 
    "widthunit": "meter", 
 
    "length": 0, 
 
    "lengthunit": "meter", 
 
    "pieces": "", 
 
    "cutofquantity": "", 
 
    "estimatedConsumption": "" 
 
} 
 

 
var value = []; 
 
var key = []; 
 
for (var property in data) { 
 
    key.push(property); 
 
    value.push(data[property]); 
 
} 
 

 
console.log(value)

-1
var key = Object.keys(data).map(function(index, value) { return index }); 
var value = Object.keys(data).map(function(index, value) { return data[index] }); 

だから、ここでは、キーと値のペアに

1

を与えているあなたはlength:0

var data = { 
 
    "productName": "fsdfsdf", 
 
    "productDesc": "", 
 
    "category": null, 
 
    "categoryName": "", 
 
    "style": null, 
 
    "styleName": "", 
 
    "substyle": null, 
 
    "substyleName": "", 
 
    "store": null, 
 
    "storeName": "", 
 
    "stand": null, 
 
    "standName": "", 
 
    "rack": null, 
 
    "rackName": "", 
 
    "roll": null, 
 
    "rollName": "", 
 
    "color": null, 
 
    "width": "", 
 
    "widthunit": "meter", 
 
    "length": 0, 
 
    "lengthunit": "meter", 
 
    "pieces": "", 
 
    "cutofquantity": "", 
 
    "estimatedConsumption": "" 
 
}; 
 

 

 

 
for(var key in data) { 
 
    if(data.hasOwnProperty(key)) { 
 
     console.log(key) ; 
 
     console.log(data[key]); 
 
    } 
 
} 
 

 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
で使用したい場合は、代替ですJSON、オブジェクトリテラルではありません

関連する問題