[英]Array of 'associative array' in (node)js
我在php中有此代码可在js中进行翻译(确切地说是节点)
$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
只需使用您的配置创建一个通用对象:
var config = {
test: {
something: 'http://something.com/web/stats_data2.php',
anothersomething: 'http://anothersomething.com/web/stats_data2.php'
}
};
然后,您可以通过以下方式使用它:
var something = config.test.something;
要么
var something = config.test['something'];
要么
var something = config['test']['something'];
没有太多要测试的东西,但是如果您愿意,可以使用Firebug或Chrome Developer Tools之类的工具。
使用chrome浏览器,打开控制台默认值,快捷键为F12 。 您可以在控制台中测试代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.