Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 按名称对对象中的函数/变量进行排序_Javascript_Organization_Phpstorm - Fatal编程技术网

Javascript 按名称对对象中的函数/变量进行排序

Javascript 按名称对对象中的函数/变量进行排序,javascript,organization,phpstorm,Javascript,Organization,Phpstorm,有没有什么工具可以帮我整理代码并按名称对JavaScript对象中的方法进行排序?我使用PHPStorm IDE,所以如果有一种方法可以使用该工具实现这一点,那将是最好的 Ext.regController ("dashboard", { goToShoppingCart:function() { Ext.dispatch({ controller:"shoppingCart", actio

有没有什么工具可以帮我整理代码并按名称对JavaScript对象中的方法进行排序?我使用PHPStorm IDE,所以如果有一种方法可以使用该工具实现这一点,那将是最好的

   Ext.regController
("dashboard", {
        goToShoppingCart:function() {
            Ext.dispatch({
               controller:"shoppingCart",
               action:"loadCart" 
            });
        },
        goToDashboard:function() {},
        goToContact:function() {}}
);

这只适用于组织


谢谢

假设您正在使用PHP生成javascript,您可以执行以下操作:

   $javascript_code = "var obj = {
   getB:function B(){},
   getA:function A(){},
   getC:function C(){},
}"; 
$obj_name = preg_match("/((?:var\s*)[^=]+)/",$javascript_code, $var_name);

preg_match_all("/(?<name>\w+):(?<value>.*(?:,|\s*))/", $javascript_code, $variables);
sort($variables["name"]);
sort($variables["value"]);

for($x = 0; $x < count($variables["name"]) / 2; $x++) {
    $variables["name"][$variables["name"][$x].':'] = $variables["value"][$x];
}
$outputcode = "{$var_name[1]} = { \r\n";

foreach($variables["name"] as $name => $value) {
    if(!is_numeric($name)) {
        $outputcode .= "{$name} {$value}\r\n";
    }
}

$outputcode .= "\r\n}";

echo $outputcode; 

我在jetbrains论坛上问它是否存在,一个国防部说没有,建议我加入一个功能请求

我是在这里做的


如果其他任何人找到一个可以做到这一点的工具,我将接受他们的答案。

您可以使用JStoolbox来做到这一点

使用排序输入


根据规范的定义,对象属性没有顺序。你认为这有什么区别?@pimvdb这只是为了可读性。你是说你想更改源代码吗?如果是这样,我很抱歉,我错过了(我以为你想在运行时这样做)。@pimvdb没问题。我的意思是格式化源代码。这看起来是一个不错的解决方案,但我们后端提供的唯一html/JS是静态的,我们希望保持这种方式。我们从后端需要的任何东西都来自ajax调用
   $javascript_code = "var obj = {
   getB:function B(){},
   getA:function A(){},
   getC:function C(){},
}"; 
$obj_name = preg_match("/((?:var\s*)[^=]+)/",$javascript_code, $var_name);

preg_match_all("/(?<name>\w+):(?<value>.*(?:,|\s*))/", $javascript_code, $variables);
sort($variables["name"]);
sort($variables["value"]);

for($x = 0; $x < count($variables["name"]) / 2; $x++) {
    $variables["name"][$variables["name"][$x].':'] = $variables["value"][$x];
}
$outputcode = "{$var_name[1]} = { \r\n";

foreach($variables["name"] as $name => $value) {
    if(!is_numeric($name)) {
        $outputcode .= "{$name} {$value}\r\n";
    }
}

$outputcode .= "\r\n}";

echo $outputcode; 
var obj  = { 
getA: function A(){},

getB: function B(){},

getC: function C(){},


}