javascript - (node)js 中的 'associative array' 数组

标签 javascript php node.js

我在 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/

相关文章:

javascript - 如何使多个内联图像响应?

javascript - 为什么我网站的 slider 只能在 Mac(同一浏览器)上正常工作?

php - CSS 样式表中的 If ... else 条件语句处理为 PHP

javascript - 通过实际http请求的Sinon Spy和Stub功能

javascript - karma-sinon-chai 迁移到 Windows 后失败

javascript - 使用自定义 javascript 函数的简单选项卡切换

php - PHP中的if语句结构

php - 需要通过 PHP 将大型 CSV 文件导入多个 MySQL 表的时间高效方法

node.js - 将 .htacees 指向使用 SSL 配置的 Node 服务器

javascript - 在 HTML 中按下按钮时无法显示图像