Ad
Unexpected Token Error When Using Array Items As Keys In An Object
In Chrome, the following JavaScript code throws an Unexpected Token error:
var somearray = ["foo","bar"];
var someassoc = {somearray[0]:somearray[1]};
The error thrown:
Uncaught SyntaxError: Unexpected token [
When instead I would expect that it should make an object with a key of somearray[0]
and an item of somearray[1]
for that key.
So, why is this happening? An Unexpected Token
normally means that a bracket has been misplaced somewhere, etc, but that is not the case here.
Ad
Answer
In JavaScript, when declaring an object, the key name should be always a simple string, for example:
var object = {'key': 'Hello World'};
However, if you would like to use a key name that is dynamic, like somearray[0], all you need to do is declare someassoc as an object:
var someassoc = {};
And then, set up a key-value combination, by doing:
someassoc.key = 'Hello World';
OR
someassoc['key'] = 'Hello World';
Which in your case will be:
someassoc[somearray[0]] = somearray[1];
That's all :)
Ad
source: stackoverflow.com
Related Questions
- → How to update data attribute on Ajax complete
- → October CMS - Radio Button Ajax Click Twice in a Row Causes Content to disappear
- → Octobercms Component Unique id (Twig & Javascript)
- → Passing a JS var from AJAX response to Twig
- → Laravel {!! Form::open() !!} doesn't work within AngularJS
- → DropzoneJS & Laravel - Output form validation errors
- → Import statement and Babel
- → Uncaught TypeError: Cannot read property '__SECRET_DOM_DO_NOT_USE_OR_YOU_WILL_BE_FIRED' of undefined
- → React-router: Passing props to children
- → ListView.DataSource looping data for React Native
- → Can't test submit handler in React component
- → React + Flux - How to avoid global variable
- → Webpack, React & Babel, not rendering DOM
Ad