我有數組對象。在對象中有的有shortkeys
屬性,有的沒有shortkeys
屬性。我想將shortkeys
屬性添加到所有對象。 重要的是我需要給所有對象賦予唯一的shortkeys
。如何在javascript中按遞增順序添加對象中的屬性?
不具有shortkeys
將遵循這些條件下這些對象
- 如果對象沒有
shortkeys
比它分配shortkeys
從1-9開始這樣的「ALT + 1」,'ALT +2' ... 'ALT + 9'。 - 後
9
我需要將0
屬性分配給對象。 - 然後我需要分配
a-z
像「ALT + A」,「ALT + B」 - 重要我需要跳過其中已定義示例的「ALT + M」所有
shortkeys
是.so每個對象具有獨特的屬性。
這裏是我的代碼 https://jsfiddle.net/krzz9zmf/
var arr=[
{name:"abc",shortkeys:"alt+m"},
{name:"c_1"},
{name:"abc",shortkeys:"alt+t"},
{name:"abc",shortkeys:"alt+c"},
{name:"wes_2"},
{name:"ncv_3"},
{name:"sghb_4"},
{name:"ijo_5"},
{name:"nhio_6"},
{name:"jion_7"},
{name:"chudoi_8"},
{name:"bdmki_9"},
{name:"dssd_0"},
{name:"sdfs_a"},
{name:"abc",shortkeys:"alt+y"},
{name:"abc",shortkeys:"alt+e"},
{name:"sghb_b"},
{name:"ijo_d"},
{name:"gsha_e"},
{name:"asdas_f"},
{name:"bbb_g"},
{name:"mko_h"},
{name:"kioh_i"},
{name:"qwee_j"},
{name:"qwee_k"},
{name:"qwee_l"},
{name:"qwee_n"},
]
var j =1;
for(var i=0;i<arr.length;i++){
var obj =arr[i];
if (!'shortkeys' in myObj){
//add shorkeys start from 1-9 then 0 and then a-z.In other words need to assign shortcut key like that 'alt+1','alt+2'....'alt+0'''alt+a','alt+b'...'alt+z';
//some of the objects already define shortkeys example 'alt+m' .so I need to skip these shortcut key .so that each item have unique shortcut.
myObj.shortkeys= 'alt+'+j;
j++;
if(j==10){
j=0
}
if(j==1){
myObj.shortkeys='alt+a';
}
}
}
期望輸出
[
{name:"abc",shortkeys:"alt+m"},
{name:"c_1",,shortkeys:"alt+1"},
{name:"abc",shortkeys:"alt+t"},
{name:"abc",shortkeys:"alt+c"},
{name:"wes_2",shortkeys:"alt+2"},
{name:"ncv_3",,shortkeys:"alt+3"},
{name:"sghb_4",shortkeys:"alt+4"},
{name:"ijo_5",shortkeys:"alt+5"},
{name:"nhio_6",shortkeys:"alt+6"},
{name:"jion_7",shortkeys:"alt+7"},
{name:"chudoi_8",shortkeys:"alt+8"},
{name:"bdmki_9",shortkeys:"alt+9"},
{name:"dssd_0",shortkeys:"alt+0"},
{name:"sdfs_a",shortkeys:"alt+a"},
{name:"abc",shortkeys:"alt+y"},
{name:"abc",shortkeys:"alt+e"},
{name:"sghb_b",shortkeys:"alt+b"},
{name:"ijo_d",shortkeys:"alt+d"},
{name:"gsha_e",shortkeys:"alt+e"},
{name:"asdas_f",shortkeys:"alt+f"},
{name:"bbb_g",shortkeys:"alt+g"},
{name:"mko_h",shortkeys:"alt+h"},
{name:"kioh_i",shortkeys:"alt+i"},
{name:"qwee_j",shortkeys:"alt+j"},
{name:"qwee_k",shortkeys:"alt+k"},
{name:"qwee_l",shortkeys:"alt+l"},
{name:"qwee_n",shortkeys:"alt+n"},
]
只是想知道,是什麼ALT + z'後'? –
我不確定你是否真的爲你所做的工作付出了一些努力(我希望你做到了),但是有太多的錯誤和缺失的部分,我不能假裝花太多時間在它上面。這是一個工作解決方案(來自你的小提琴):https://jsfiddle.net/krzz9zmf/2/。請注意,你既沒有正確檢查,也沒有替換值,甚至沒有引用正確的變量(檢查你的控制檯,它會告訴你是否出現錯誤**)。你正在引用myObj而不是obj。 (我甚至沒有檢查所有結果是否正確,因爲邏輯丟失,這是我能做的最好的) – briosheje
你沒有說你的問題實際上是什麼,但你的代碼有'var obj',但是你改用'myObj'。 – 2016-05-06 13:21:51