我正在尝试迭代哈希中的所有键,但是没有从循环返回输出.console.log()按预期输出.知道为什么JSX没有返回并输出正确吗?
var DynamicForm = React.createClass({
getInitialState: function() {
var items = {};
items[1] = { name: '', populate_at: '', same_as: '',
autocomplete_from: '', title: '' };
items[2] = { name: '', populate_at: '', same_as: '',
autocomplete_from: '', title: '' };
return { items };
},
render: function() {
return (
<div>
// {this.state.items.map(function(object, i){
// ^ This worked previously when items was an array.
{ Object.keys(this.state.items).forEach(function (key) {
console.log('key: ', key); // Returns key: 1 and key: 2 …Run Code Online (Sandbox Code Playgroud) 遵循这个问题:在 Node 中返回Object.prototype空对象
为什么不
console.log(Object.prototype)记录预期的对象而是返回{}.
答案是这样的:
这是因为
console.log[...] 用于Object.keys()对象,并且它仅返回可枚举属性。并且Object.prototype包含不可枚举的属性,这就是它返回空节点的原因。——阿姆伦德·辛格
我想知道如何输出给定对象的所有属性(例如Object.prototype)。正如另一个答案所示,使用getOwnPropertyNames效果很好:
const ObjectPrototype = Object.getOwnPropertyNames(Object.prototype).reduce((object, name) => {
object[name] = Object.prototype[name];
return object;
}, {});
console.log(
ObjectPrototype
);Run Code Online (Sandbox Code Playgroud)
.as-console-wrapper { max-height: 100% !important; top: 0; }Run Code Online (Sandbox Code Playgroud)
我想我可以通过这种方式提取给定对象的隐藏属性。但实际上,它并不能完全发挥作用。
这是一个更简单的例子:我正在检查的对象是 object {mykey: 'value'}。Chrome 给了我它的属性(console.log也是如此),还有它的原型,__proto__灰显:
let object = { mykey: 'value' };
object = Object.getOwnPropertyNames(object).reduce((acc, name) => {
acc[name] …Run Code Online (Sandbox Code Playgroud)我正在向服务器发送一组对象(如下所示),服务器必须接收对象并将它们添加到 mongodb。我是 node.js 的新手,我通常处理 rcevived 请求正文(req.body)中的键。但在这里,键是对象。我怎样才能迭代它们?
[
{
id: "1",
Name: "John"
},
{
id: "2",
Name: "Mark"
},
{
id: "3",
Name: "Domi"
}
]
Run Code Online (Sandbox Code Playgroud)
服务器代码:
server.get('/user', function (req, res, next) {
//iterate over the objects in req.body
});
Run Code Online (Sandbox Code Playgroud)
当我想发送一个对象时,我可以通过 req.body.id 和 req.body.Name 轻松获取请求内容,那么如何在请求正文中使用多个对象呢?
我试图循环一个json文件,并挑选出每一集,但我很困惑,我的循环只输出第一个current_episode,非常感谢,如果有人可以检查我的问题!
app.get('/episodes', function(req, res){
fs.readFile('channels.json', 'utf8', function (err, data) {
var jsondata = JSON.parse(data);
for (var i=0; i<jsondata.channels.length; i++){
var myChannel = jsondata.channels[i].current_episode;
res.send(myChannel);
}
})
});
Run Code Online (Sandbox Code Playgroud)
我的json数据:
{
"total": 70,
"request_uri": "\/channels\/",
"channels": [
{
"channel_id": 42,
"current_episode": [
{
"id": 126248,
"title": "Spanarna",
}
]
},
{
"channel_id": 43,
"current_episode": [
{
"id": 126255,
"title": "Beck: I stormens \u00f6ga",
}
]
},
............
}
Run Code Online (Sandbox Code Playgroud)