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