我在 php 中有这段代码可以翻译成 js(准确地说是 Node )
$config['test'] = array(
"something" => "http://something.com/web/stats_data2.php"
,"somethingelse" =>"http://somethingelse.com/web/stats_data2.php"
,"anothersomething" =>"http://anothersomething.com/web/stats_data2.php"
);
所以我开始写这个:
config.test = [
something = 'http://something.com/web/stats_data2.php'
, somethingelse = 'http://somethingelse.com/web/stats_data2.php'
, anothersomething = 'http://anothersomething.com/web/stats_data2.php']
但我不确定是否不应该这样写:
config.test.something = 'http://something.com/web/stats_data2.php';
config.test.something = 'http://somethingelse.com/web/stats_data2.php';
config.test.anothersomething = 'http://anothersomething.com/web/stats_data2.php';
目标是,如果我执行 console.log(config.test.['something']);,在输出中包含链接。
有没有办法在没有服务器的情况下测试它(因为明天之前我没有任何服务器),或者我的语法好吗?
最佳答案
Javascript 没有关联数组,只有普通对象:
var myObj = {
myProp: 'test',
mySecondProp: 'tester'
};
alert(myObj['myProp']); // alerts 'test'
myObj.myThirdProp = 'testing'; // still works
for (var i in myObj) {
if (!myObj.hasOwnProperty(i)) continue; // safety!
alert(myObj[i]);
}
// will alert all 3 the props
要将 PHP 数组转换为 javascript,请使用 json_encode
不过,如果您想安全起见,您还需要引用属性,因为保留关键字会使您的构造在某些浏览器中失败,或者不会被某些压缩系统接受:
var obj1 = {
function: 'boss', // unsafe
'function': 'employee' // safe
};
console.log(obj1.function); // unsafe
console.log(obj1['function']); // safe
关于javascript - (node)js 中的 'associative array' 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18831817/