2013-09-20 3 views
0

У меня есть некоторые более сложные, чем строки, как следовать, но поставить его просто предположим, что у меня естьВвод строки внутри объектов - JavaScript

var stats_members = ",\{\"y\"\: 6\}"; 
var data = 
    [{ 
       "x": "2012-11-05", 
       "y": 6 
      },+stats_members+ 
      ] 
      ; 

Когда я console.log(data) я продолжаю получать Uncaught SyntaxError: Unexpected token ] Может кто-нибудь объяснить, почему?

+0

Вашей цели не очевиден, здесь. Так что трудно исправить свой код. –

+0

Почему у вас есть два символа '+' (добавление, конкатенация) только с одним операндом в объявлении массива? – Lepidosteus

+0

Возможно, вы захотите оценить эту строку в объекте, а затем просто поместите ссылку на нее в свой новый объект без знаков плюса. – JAL

ответ

1

Поскольку комментарии показывают, чего вы пытаетесь достичь, неясно.

также:

},+stats_members+ 

должен быть

},+stats_members 
+0

Спасибо, что это работает! На самом деле у меня есть какой-то умный, саркастический код. Но, чтобы сделать это простым, я поставил несколько строк для тестирования – user1611830

1

Существует дополнительный '+' в данных объявления переменных.

должно быть:

var data = [{"x": "2012-11-05", "y": 6 }, stats_members]; 
0

Вы делаете некоторые очень странные вещи там. Чтобы сделать это очень простой, это как анализатор интерпретирует код:

var data = 
[       //-> here starts an array literal 
{       //-> here starts an object literal (first array item) 
    "x": "2012-11-05",  //-> here is the property x in the object literal 
    "y": 6     //-> here is the property y in the object literal 
}       //-> here ends the object literal 
,       //-> comma separating array items 
+stats_members   //-> cast to number by the unary + sign 
+       //-> add something to the value on the previous row 
]       //-> array literal end should not be here, it is expecting something to add 

Если вы хотите, чтобы объяснить то, что вы пытаетесь сделать, мы могли бы помочь с лучшим синтаксисом.

1
var stats_members = ",\{\"y\"\: 6\}"; 
var data = 
    [{ 
       "x": "2012-11-05", 
       "y": 6 
      },+stats_members 
      ] 
      ; 

Это дополнительный плюс после "stats_members" вызывает проблему BRO

Смежные вопросы