使用JavaScript而非php构建对象 - javascript

我正在尝试使用javascript创建一个数据对象,该数据对象与下面php脚本中的构造相匹配,并且需要在对象“名称”下添加“ depends”元素的帮助。

var data = [{}];
var json = [
{ "type": "type1", "group": "group1", "name": "name1", "depends": ["x","y","z"] },
{ "type": "type2", "group": "group2", "name": "name2", "depends": ["a","b","c"] },
{ "type": "type3", "group": "group3", "name": "name3", "depends": ["q"] }]

json.forEach(function (item) {
    data.push(item.name);
});


json.forEach(function (item) {
    item.forEach(function (item.depends) {
        data.push(item.depends);
    });
});

的PHP

foreach ($json as $obj) {
    $data[$obj['name']] = $obj;
}

foreach ($data as &$obj) {
    $obj['dependedOnBy'] = array();
}

unset($obj);
foreach ($data as &$obj) {
    foreach ($obj['depends'] as $name) {
        if ($data[$name]) {
            $data[$name]['dependedOnBy'][] = $obj['name'];
        } else {
            $errors[] = "Unrecognized dependency: '$obj[name]' depends on '$name'";
        }
    }
 }

参考方案

据我了解,这就是您的php代码的作用:

var data = {};
json.forEach(function (item) {
    item.dependedOnBy = [];
    data[item.name] = item;
});

var errors = [];
Object.keys(data).forEach(function (name) {
    data[name].depends.forEach(function (dep) {
        if(!data[dep])
            errors.push( "Unrecognized dependency: " + name + " depends on " + dep);
        else
            data[name].dependedOnBy.push(data[dep]);
    });
});

http://jsfiddle.net/yqqdr5bt/

javascript popupwindow之后的行如何工作? - javascript

好的,我有一个来自后面代码的方法,可以创建一个popupwindow。然后有一行代码要在那之后执行,我想知道那行代码何时执行,是在使用popupwindow之后执行还是在创建popupwindow之后执行?例如:void exPopupWindowMethod() { string scr = "window.open('exampleP…

Javascript-Urls的奇怪字符串比较行为 - javascript

最近,在编写我无法理解的javascript时遇到了字符串比较的问题。我从完全相同的网址创建了两个字符串,当我比较它们时返回false,但是在重新分配相同的字符串后,比较返回true。这是我的示例:var str1 = "http://google.com/"; var str2 = "http://google.com‏/&#…

Javascript-从当前网址中删除查询字符串 - javascript

单击提交按钮后,我需要从网址中删除查询字符串值。我可以用jQuery做到这一点吗?当前网址:siteUrl/page.php?key=value 页面提交后:siteUrl/page.php 实际上,我已经从另一个带有查询字符串的页面着陆到当前页面。我需要在页面首次加载时查询字符串值以预填充一些详细信息。但是,一旦我提交了表格,我就需要删除查询字符串值。我已…

Mongo汇总 - javascript

我的收藏中有以下文件{ "_id": ObjectId("54490b8104f7142f22ecc97f"), "title": "Sample1", "slug": "samplenews", "cat": …

JavaScript中的字符串评估函数 - javascript

            JavaScript中是否有任何内置函数,例如Python中的eval内置函数?注意:eval函数将方程式作为字符串并返回结果。例如,假设变量x为2,则eval("2x+5")返回9。 参考方案 是的,JavaScript中也有eval函数。此外,该声明应有效用于评估,即eval("2*x+5"…