[英]How to move first element of the JSON object to the end?
嗨,我有這樣的JSON:
[
"supplier" : "Apple",
"features" : {
"0": [
{
"feature_id": "58d1b42ec2ef165bbfca0873",
"symbol": "tick"
},
{
"feature_id": "58d4b843bd966f52093ce32f",
"symbol": "cross"
}
],
"1":[
{
"feature_id": "58d1b42ec2ef165bb33422087",
"symbol": "tick"
},
{
"feature_id": "58d4b843bd91ads2jfloice32",
"symbol": "cross"
}
]
},
"supplier" : "Orange",
"features" : {
"0": [
{
"feature_id": "58d1b42ec2ef165bbfca0873",
"symbol": "tick"
},
{
"feature_id": "58d4b843bd966f52093ce32f",
"symbol": "cross"
}
],
"1":[
{
"feature_id": "58d1b42ec2ef165bb33422087",
"symbol": "tick"
},
{
"feature_id": "58d4b843bd91ads2jfloice32",
"symbol": "cross"
}
]
}
]
如何使用jQuery / javascript將功能對象鍵“ 0”移動到鍵“ 0”之后的末尾? 我試圖使用array.push(array.shift()); 但是它拋出錯誤,說“ array.shift()”不是一個函數。 我猜.features不是數組,那么如何將對象移到末尾?
要素是對象而不是數組是有原因的嗎? 您可以執行以下操作:
"features" : [
[
{
"feature_id": "58d1b42ec2ef165bbfca0873",
"symbol": "tick"
},
{
"feature_id": "58d4b843bd966f52093ce32f",
"symbol": "cross"
}
],
[
{
"feature_id": "58d1b42ec2ef165bb33422087",
"symbol": "tick"
},
{
"feature_id": "58d4b843bd91ads2jfloice32",
"symbol": "cross"
}
]
}
如果您只是計划使用數字作為鍵,那沒有問題。 否則,您可以使用Object.keys(features)
獲得對象鍵的數組(在您的情況下為“ 1”,“ 2”,...),並在需要時使用它們引用對象。
使用臨時變量交換
var data = {
"supplier" : "Apple",
"features" : {
"0": [
{
"feature_id": "58d1b42ec2ef165bbfca0873",
"symbol": "tick"
},
{
"feature_id": "58d4b843bd966f52093ce32f",
"symbol": "cross"
}
],
"1":[
{
"feature_id": "58d1b42ec2ef165bb33422087",
"symbol": "tick"
},
{
"feature_id": "58d4b843bd91ads2jfloice32",
"symbol": "cross"
}
]
}
};
function swap(obj,index1,index2){
var temp = obj[index1];
obj[index1] = obj[index2];
obj[index2] = temp;
return obj;
}
data.features = swap(data.features,"0","1");
//現在features [“ 0”] <==> features [“ 1”];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.