javascript - 什么是正确的一个数组/对象或组合
问题描述
我在 javascript 中尝试了第一步,所以请原谅我的遗漏:-)
我想创建一个数据变量来以这样的方式存储数据
MYDATA['FIRST_ELEMENT']['ABCKEY1']=VALUE
['ABCKEY2']=VALUE
['ABCKEY2']=VALUE
MYDATA['SECOND_ELEMENT']['ABCKEY1']=VALUE
['ABCKEY2']=VALUE
['ABCKEY2']=VALUE
...
正如我所读到的,javascript 中的数组不能与字母数字键一起正常工作,所以也许我应该创建一个对象或数组和对象的组合?
希望,有人可以帮助我并解释我这样做的正确方法是什么,
多谢。
解决方案
这可以通过单个对象或对象数组来实现。使用对象数组的一个优点是您可以对其进行迭代并创建项目列表或表结构等。
// using an object
var MYDATA_OBJ= {
FIRST_ELEMENT: {
ABCKEY1: 'value 1.1',
ABCKEY2: 'value 1.2',
ABCKEY3: 'value 1.3'
},
SECOND_ELEMENT: {
ABCKEY1: 'value 2.1',
ABCKEY2: 'value 2.2',
ABCKEY3: 'value 2.3'
}
};
console.log(MYDATA_OBJ.FIRST_ELEMENT.ABCKEY2); // gives value1.2
console.log(MYDATA_OBJ.SECOND_ELEMENT.ABCKEY3); // gives value2.3
// to alter the value of a given element the syntax would be
MYDATA_OBJ.FIRST_ELEMENT.ABCKEY2 = 'newValue1.2';
console.log(MYDATA_OBJ.FIRST_ELEMENT.ABCKEY2); // gives newValue1.2
// using an array
var MYDATA_ARR= [{
ABCKEY1: 'value 1.1',
ABCKEY2: 'value 1.2',
ABCKEY3: 'value 1.3'
}, {
ABCKEY1: 'value 2.1',
ABCKEY2: 'value 2.2',
ABCKEY3: 'value 2.3'
}
];
console.log(MYDATA_ARR[0].ABCKEY2); // gives value1.2
console.log(MYDATA_ARR[1].ABCKEY3); // gives value2.3
// to alter the value of a given element the syntax would be
MYDATA_ARR[0].ABCKEY2 = 'newValue2.2';
console.log(MYDATA_ARR[0].ABCKEY2); // gives newValue2.2
推荐阅读
- powershell - FindItems() 在第一次运行时不起作用,但在第二次运行时起作用
- php - Magento Zend Email 无异常但未发送
- odata - ODATA:URL 中的特殊字符
- c# - 均衡两个字典的最快方法
- java - Android 访问 Firebase 云存储中的文件,同时仍处于离线状态
- regex - 正则表达式匹配由 2 个字符串间接绑定的字符串
- python - 将 PDF 转换为文本:“不允许提取文本”
- node.js - 所需功能中的代码无法正确执行?
- javascript - JavaScript 中的分配大小溢出
- regex - 正则表达式:检测由破折号 (-) 和/或空格分隔的电话号码