angular2是否有一个流lambda表达式?

时间:2016-08-21 21:39:40

标签: javascript dictionary lambda

我想使用angular2

将字典转换为字符串

喜欢:key1=value1&key2=value2&...

有没有办法创建像java8流动作?还是一种优雅的方式?

这是我的尝试:

mapToFormParamsString( dict : any) : string{
    var a = [];
    for (var key in dict) {
        if (dict.hasOwnProperty(key)) {
            a.push(key+"="+dict[key]);
        }
    }
    return a.join("&");
}

2 个答案:

答案 0 :(得分:1)

那个或Array#reduce

mapToFormParamsString( dict : any) : string{
    return Object.keys(dict).reduce(function(rv, key) {
        return rv + "&" + key + "=" + dict[key];
    }, "").substring(1);
}

或当您使用TypeScript(或ES2015 +)时:

mapToFormParamsString( dict : any) : string{
    return Object.keys(dict).reduce((rv, key) => rv + "&" + key + "=" + dict[key], "").substring(1);
}

与您的一样,只处理自己的属性名称。

答案 1 :(得分:-1)