Javascript对象
我无法转换以下对象,我必须转换以下对象:Javascript对象,javascript,loops,object,Javascript,Loops,Object,我无法转换以下对象,我必须转换以下对象: var words = [{ IBM: '00AJ136', DESCRIPTION_IBM: '500GB Serial ATA (SATA) 2.5"" 6G 7.2K NL SFF G3HS Hot-Swap Hard Drive', HP: '332751-B21', DESCRIPTION_HP: 'Compaq 72GB Non-Hot Plug Ultra320 SCSI Hard Drive 10K', DE
var words = [{
IBM: '00AJ136',
DESCRIPTION_IBM: '500GB Serial ATA (SATA) 2.5"" 6G 7.2K NL SFF G3HS Hot-Swap Hard Drive',
HP: '332751-B21',
DESCRIPTION_HP: 'Compaq 72GB Non-Hot Plug Ultra320 SCSI Hard Drive 10K',
DELL: '01XF66',
DESCRIPTION_DELL: 'DELL 1.2TB HARD DRIVE',
HITACHI: 'HUC101890CSS204',
DESCRIPTION_HITACHI: '900GB 10K 12G SAS HARD DRIVE',
EMC: '5048946',
DESCRIPTION_EMC: '005048946 EMC 300GB 10K SFF SAS HARD DRIVE',
SEAGATE: '2C6200-002',
DESCRIPTION_SEAGATE: '2C6200-002 SEAGATE 300GB 10K SFF SAS HARD DRIVE',
WD: 'WD1000CHTZ',
DESCRIPTION_WD: 'WD 1TB 7200 6G 2.5"" SATA DRIVE',
TOSHIBA: 'DT01ACA300',
DESCRIPTION_TOSHIBA: 'TOSHIBA DT01ACA300 3TB 7200rpm 3.5"" Serial ATA 3.0 Hard Drive'
}]
为此:
{
00AJ136: "500GB Serial ATA (SATA) 2.5"" 6G 7.2K NL SFF G3HS Hot-Swap Hard Drive",
332751-B21 : "Compaq 72GB Non-Hot Plug Ultra320 SCSI Hard Drive 10K",
.
.
.
& so on
}
有人能帮我解决这个问题吗。
提前感谢。假设数组
word
将具有单个对象
let obj = {};
Object.entries(words[0]).forEach(([k,v]) => obj[k] = v);
console.log(obj)
如果数组word
包含多个项,则
let result = words.map(w => {
let obj = {};
Object.entries(w).forEach(([k,v]) => obj[k] = v);
return obj;
});
console.log(result);
基于上述代码,您可以通过使用此代码实现:
var oNew = {};
$.each(words[0], function(key, value) {
if(key.match('DESCRIPTION') === null) {
oNew[value] = words[0]['DESCRIPTION_' + key];
}
});
祝你好运:)
单词是一个数组。此阵列应始终具有单个对象?请熟悉可用的和方法(静态和原型)。@SebastianSimon感谢您的指导。@pratik感谢兄弟。很有魅力。@vipinjoshi欢迎brad!