我试过看看这是否可行,但我找不到答案.
我正在努力让以下工作:
var defaults = {
'background-color': '#000',
color: '#fff',
weekdays: {['sun','mon','tue','wed','thu','fri','sat']}
};
Run Code Online (Sandbox Code Playgroud)
它只是给出了一个错误,我尝试过使用({...}),[{...}]我希望能够使用以下内容访问工作日:
defaults.weekdays[0];
Run Code Online (Sandbox Code Playgroud)
这可能吗?
Ste*_*all 93
杀掉牙箍.
var defaults = {
backgroundcolor: '#000',
color: '#fff',
weekdays: ['sun','mon','tue','wed','thu','fri','sat']
};
Run Code Online (Sandbox Code Playgroud)
Eim*_*tas 11
// define
var foo = {
bar: ['foo', 'bar', 'baz']
};
// access
foo.bar[2]; // will give you 'baz'
Run Code Online (Sandbox Code Playgroud)
小智 5
var data = {
name: "Ankit",
age: 24,
workingDay: ["Mon", "Tue", "Wed", "Thu", "Fri"]
};
for (const key in data) {
if (data.hasOwnProperty(key)) {
const element = data[key];
console.log(key+": ", element);
}
}Run Code Online (Sandbox Code Playgroud)
如果你是这样组织的,你可以从一开始就声明整个对象(这个逗号分隔的列表称为对象初始值设定项):
const myObject = {
string: 'Galactic Rainbows',
color: 'HotPink',
sociopaths: [ "Hitler", "Stalin", "Gates" ]
}
Run Code Online (Sandbox Code Playgroud)
或者,一旦声明了该对象,
// this line is the declaration:
const myObject = {};
// it is equivalent to:
const myObject2 = new Object();
Run Code Online (Sandbox Code Playgroud)
您可以通过给它们值来定义其属性:
myObject.string = "Galactic Rainbows";
myObject.color = "HotPink";
myObject.sociopaths = [ "Hitler", "Stalin", "Gates" ];
// ^properties ^values
Run Code Online (Sandbox Code Playgroud)
下面的所有示例都假设该对象已经声明(如上所述)
我更喜欢像这样单独声明数组,然后将其分配给对象:
const weekdays = [ 'sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat' ];
myObject.weekdays = weekdays;
myObject.weekdays[0]
// => 'sun'
Run Code Online (Sandbox Code Playgroud)
但如果您已经声明了该对象,则编码会更快:
myObject.weekdays = [ 'sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat' ];
Run Code Online (Sandbox Code Playgroud)
但是你不能像这样将数组的数组分配给对象:
myObject.girlsAndBoys[0] = [ "John", "Frank", "Tom" ]; //Uncaught TypeError: Cannot set property '1' of undefined
myObject.girtsAndBoys[1] = [ "Jill", "Sarah", "Sally" ]; //Uncaught TypeError: Cannot set property '1' of undefined
Run Code Online (Sandbox Code Playgroud)
要将二维数组分配给对象,您有几个选择。您可以先初始化空的二维数组:
myObject.girlsAndBoys = [[]];
myObject.girlsAndBoys[0] = [ "John", "Frank", "Tom" ];
myObject.girtsAndBoys[1] = [ "Jill", "Sarah", "Sally" ];
Run Code Online (Sandbox Code Playgroud)
或者你可以一层一层地做:
const boys = [ "John", "Frank", "Tom" ];
const girls = [ "Jill", "Sarah", "Sally" ];
myObject.girlsAndBoys = [[ boys ],[ girls ]];
Run Code Online (Sandbox Code Playgroud)
或者,您可以一次完成所有操作(不超过对象声明之后):
const myObject = {};
myObject.girlsAndBoys = [[ "John", "Frank", "Tom" ],
[ "Jill", "Sarah", "Sally" ]];
myObject.girlsAndBoys[0][0] == "John"; // returns True
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
138016 次 |
| 最近记录: |