如何格式化具有大量值的javascript数组

时间:2015-05-07 19:22:04

标签: javascript arrays code-formatting

在javascript中,我正在创建一个包含一些值的数组。值列表相对较长,导致单行代码出现在大多数屏幕上的两行上。例如,代码行是:

var fieldNames = ['firstName', 'lastName', 'phoneNumber', 'emailAddress', 'hotelName', 'roundTrip', 'origin', 'departureDate', 'departureTime', 'returnDate', 'returnTime'];

是否有一种首选格式化此行,因此它更具可读性?数组中的每个值都应该在它自己的行上吗?

4 个答案:

答案 0 :(得分:1)

如果目标是更易读的代码,那么将每个元素分别放在自己的行上就可以了。

例如,如果你对数组中的元素进行更改并提交git,整行将显示为在diff中更改。其他人很难确切地看到哪个元素发生了变化。

change_element_on_one_line

如果每个元素都在它自己的行上,并且你对一个元素进行了更改然后提交到git,那么只有具有更改元素的行才会显示在diff中。然后很明显哪个元素被改变了。

change_element_on_separate_lines

答案 1 :(得分:0)

var fieldNames = ['firstName', 'lastName', 'phoneNumber', 'emailAddress', 
'hotelName', 'roundTrip', 'origin', 'departureDate', 'departureTime',
'returnDate', 'returnTime'];

答案 2 :(得分:0)

这就是我通常做的事情:

var fieldNames = [
        'firstName', 'lastName', 'phoneNumber', 'emailAddress', 'hotelName', 
        'roundTrip', 'origin', 'departureDate', 'departureTime', 'returnDate',
        'returnTime'
    ];

这就是我的工作。这可能是也可能不是一个好主意。

至少对我来说,它有助于我理解数组的起始和停止位置以及它所属的变量。

答案 3 :(得分:0)

我们在项目中使用require.js,有时会发生模块需要很多依赖项,因此我们的代码如下所示:

require([
    module1,
    module2,
    module3,
    module4,
    module5,
    module6
], function(
    module1_obj,
    module2_obj,
    module3_obj,
    module4_obj,
    module5_obj,
    module6_obj
){
...
});

因为我们必须定义2个非常长的列表,所以我们将它格式化为一列,一行中有1个项目,这样当我们删除一个依赖项时,我们可以在两列中轻松删除它,并看到它们的计数相同项目

澄清: require.js中的第一个数组定义了依赖关系,第二个数组给出了一个使用该依赖关系的对象,这就是为什么有两个依赖关系的原因。

不在第一行放置任何项目的好处

var foo = [ // <-- Not having an element on this line.
    1,
    2,
    3
];

那么数组的定义方式通常与对象相同:

var bar = {
    iAmAProperty: "YAY"
};

在版本控制中,您可以清楚地看到是否编辑了对象/数组的内容或对象/数组的名称