nodejs:TypeError:Object#<object>没有方法'map'</object>

时间:2014-06-23 15:11:10

标签: node.js

我正在尝试使用nodejs迭代一个json对象,结果证明这是一个真正的挑战。

> var fs = require('fs');
> var meta = JSON.parse(fs.readFileSync('path_to_file'));
> typeof meta
'object'
> for ( k in meta)  console.log(k);
key1
key2
> meta.map(function(v,k) { console.log(k +'=' + v); })
TypeError: Object #<Object> has no method 'map'
    at repl:1:7
    at REPLServer.self.eval (repl.js:110:21)
    at Interface.<anonymous> (repl.js:239:12)
    at Interface.EventEmitter.emit (events.js:95:17)
    at Interface._onLine (readline.js:202:10)
    at Interface._line (readline.js:531:8)
    at Interface._ttyWrite (readline.js:760:14)
    at ReadStream.onkeypress (readline.js:99:10)
    at ReadStream.EventEmitter.emit (events.js:98:17)
    at emitKey (readline.js:1095:12)
> 

我是节点的新手,这是正常的吗?

1 个答案:

答案 0 :(得分:1)

map用于数组,您将它应用于对象。

您可以尝试underscore.js

_.map
var _ = require('underscore');
_.map({one: 1, two: 2, three: 3}, function(num, key){ return num * 3; });
=> [3, 6, 9]