我试图解决这个小问题,我需要使用parseMetaData()
创建一个具有每个项目计数的对象。
我以为我理解reduce
是如何工作的,使用函数将多个值减少到一个,但我无法弄清楚它是如何工作的。
任何想法或建议?我真的很感激。
reduce
答案 0 :(得分:2)
如您所见,您需要一个对象作为数组项目计数的结果集。
为了获得结果,您可以使用默认值零来添加一个来计算实际值,同时使用给定名称作为计数属性。
var people = ['josh', 'dan', 'sarah', 'joey', 'dan', 'josh', 'francis', 'dean'],
counts = people.reduce(function (c, p) {
c[p] = (c[p] || 0) + 1;
return c;
}, Object.create(null));
console.log(counts);
答案 1 :(得分:0)
var express = require("express");
var path = require("path");
var logger = require("morgan");
// var cookieParser = require("cookie-parser");
var bodyParser = require("body-parser");
var neo4j = require("neo4j-driver").v1;
var app = express();
//
// <script src="lib/browser/neo4j-web.min.js"></script>
//view engine setup
app.set("views", path.join(__dirname, "views"));
app.set("view engine", "ejs");
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extened: false}));
// app.use(cookieParser());
app.use(express.static(path.join(__dirname, "public")));
var driver = neo4j.driver("bolt://locthost", neo4j.auth.basic("neo4j", "test"));
var session = driver.session();
//home route
app.get('/', function(req, res){
session
.run("MATCH (n) RETURN n")
.then(function(result){
result.records.forEach(function(records){
console.log(records._fields[0]);
});
})
.catch(function(error){
console.log(error);
});
res.render("index");
});
app.listen(3000);
console.log('Server has started');
module.export = app;
工作codepen