I've tried looking to see if this is possible, but I can't find my answer.
I'm trying to get the following to work:
var defaults = {
'background-color': '#000',
color: '#fff',
weekdays: {['sun','mon','tue','wed','thu','fri','sat']}
};
It just gives an error, and I've tried using ({...})
and [{...}]
I'd like to be able to access the weekdays using something like:
defaults.weekdays[0];
is this possible?
Kill the braces.
var defaults = {
backgroundcolor: '#000',
color: '#fff',
weekdays: ['sun','mon','tue','wed','thu','fri','sat']
};
// define
var foo = {
bar: ['foo', 'bar', 'baz']
};
// access
foo.bar[2]; // will give you 'baz'
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); } }
var defaults = { "background-color": "#000", color: "#fff", weekdays: [ {0: 'sun'}, {1: 'mon'}, {2: 'tue'}, {3: 'wed'}, {4: 'thu'}, {5: 'fri'}, {6: 'sat'} ] }; console.log(defaults.weekdays[3]);
In regards to multiple arrays in an object. For instance, you want to record modules for different courses
var course = {
InfoTech:["Information Systems","Internet Programming","Software Eng"],
BusComm:["Commercial Law","Accounting","Financial Mng"],
Tourism:["Travel Destination","Travel Services","Customer Mng"]
};
console.log(course.Tourism[1]);
console.log(course.BusComm);
console.log(course.InfoTech);
If you are so organised you may declare the entire object from the outset (this comma-delimited list is called an object initializer):
let myObject = {
string: 'Galactic Rainbows',
color: 'HotPink',
sociopaths: ["Hitler","Stalin","Gates"]
}
Alternatively, once you have declared the object, you may define its properties by giving them values:
let myObject = {}; //this line is the declaration
myObject.string = "Galactic Rainbows";
myObject.color = "HotPink";
myObject.sociopaths = ["Hitler","Stalin","Gates"];
All examples below assume the object is already declared (as immediately above)
I prefer to declare the array separately, like this, and then assign it to the object:
let weekdays = ['sun','mon','tue','wed','thu','fri','sat'];
myObject.weekdays = weekdays;
But if you have already declared the object, it would be quicker to code:
myObject.weekdays = ['sun','mon','tue','wed','thu','fri','sat'];
But you cannot assign an array of arrays to the object like this:
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
To assign a two dimensional array to an object you have a few options. You can declare the empty 2D array first:
myObject.girlsAndBoys = [[]];
myObject.girlsAndBoys[0] = ["John","Frank","Tom"];
myObject.girtsAndBoys[1] = ["Jill","Sarah","Sally"];
Or you may do it layer by layer:
let boys = ["John","Frank","Tom"];
let Girls = ["Jill","Sarah","Sally"];
myObject.girlsAndBoys = [[boys],[girls]];
Alternatively you may do it all at once (after no more than the object declaration):
let myObject = {};
myObject.girlsAndBoys = [["John","Frank","Tom"],["Jill","Sarah","Sally"]];
myObject.girlsAndBoys[0][0] == "John"; // returns True
var obj = {
webSiteName: 'StackOverFlow',
find: 'anything',
onDays: ['sun' // Object "obj" contains array "onDays"
,'mon',
'tue',
'wed',
'thu',
'fri',
'sat',
{name : "jack", age : 34},
// array "onDays"contains array object "manyNames"
{manyNames : ["Narayan", "Payal", "Suraj"]}, //
]
};
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.