首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将对象简化为字符串的函式方法

将对象简化为字符串的函式方法
EN

Stack Overflow用户
提问于 2015-10-06 13:00:04
回答 3查看 54关注 0票数 1

我正在寻找一种很好的函数式方法来转换这个对象:

代码语言:javascript
复制
var globals = {
    foo: "bar",
    foo2: "bar2"
};

...into此字符串:

代码语言:javascript
复制
'window.foo = "bar"; window.foo2 = "bar2";'

类似于Array.prototype.reduce()的东西。使用Lodash这样的语言是可以的。

我要的是non-functional方法,而不是,而不是

代码语言:javascript
复制
var string = "";

// Pseudo code
_.forOwn(...) {
    string += key
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-10-06 13:04:15

使用映射和连接

代码语言:javascript
复制
var globals = {
  foo: "bar",
  foo2: "bar2"
};

var result = Object.keys(globals).map(function(key) {
  return 'window.' + key + ' = "' + this[key] + '";';
}, globals).join(' ');

console.log(result);

票数 2
EN

Stack Overflow用户

发布于 2015-10-06 13:07:33

您可以尝试将对象转换为JSON对象,然后可以轻松地将JSON对象转换为String .using JSON.Stringify()

票数 0
EN

Stack Overflow用户

发布于 2015-10-06 13:10:02

Ammar's answer以一种适当的函数样式执行任务,但是如果您只想将对象的数据保存为全局作用域中的变量,那么使用for循环而不是对生成的字符串进行分级(如果您需要发送或存储字符串,这就是JSON.stringify的目的),难道不是更容易吗?就像这样:

代码语言:javascript
复制
var globalScope = (window || this);
for (var key in globals) {
    globalScope[key] = globals[key];
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32970653

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档