Javascript无法从变量中识别数组

问题描述 投票:-1回答:1

我有一个来自外部源的数组,除非我从后面的日志中复制并粘贴它,否则Javascript将无法识别它。

因此,例如,下面的代码将为外部输出字符串而不是数组,但如果我从外部日志中复制确切输出并将其手动分配给新变量copyfromlog,则它将作为数组输出。

var outside = Drupal.settings.map.loc_json;

// Directly copied from output of previous
var copyfromlog = [
  [
    "<div class='test china'><h2>Fake School</h2><hr><p>Lorem Ipsum.</p></div>",
    54.345014,
    -1.265579,
    "school.png",
  ],
  [
    "<div class='test europe'><h2>Test School</h2><hr><p>Lorem Ipsum.</p></div>",
    53.345014,
    -6.265579,
    "school.png",
  ],
];

console.log(outside);

console.log(copyfromlog);

为什么一个记录数组而另一个记录字符串?如果内容相同,为什么会发生这种情况? Console Log

javascript associative-array
1个回答
0
投票

Eval是解决方案。

var outside = eval(Drupal.settings.map.loc_json);

这会将变量视为数组而不是字符串。

© www.soinside.com 2019 - 2024. All rights reserved.