Javascript 无法创建属性';和"ff"x27 ;;关于字符串';和"chr 89"x27 ;&引用;

Javascript 无法创建属性';和"ff"x27 ;;关于字符串';和"chr 89"x27 ;&引用;,javascript,node.js,arrays,slamdata,Javascript,Node.js,Arrays,Slamdata,Lambda函数有问题,收到错误,但如果我在express应用程序中运行相同的代码,则不会收到相同的错误。我不是 Data returned by caniuse.getLatestStableBrowsers(); [ 'and_chr 89', 'and_ff 86', 'and_qq 10.4', 'and_uc 12.12', 'android 89', 'baidu 7.12', 'bb 10', 'chr

Lambda函数有问题,收到错误,但如果我在express应用程序中运行相同的代码,则不会收到相同的错误。我不是

Data returned by caniuse.getLatestStableBrowsers();
[
  'and_chr 89',        'and_ff 86',
  'and_qq 10.4',       'and_uc 12.12',
  'android 89',        'baidu 7.12',
  'bb 10',             'chrome 89',
  'edge 89',           'firefox 87',
  'ie 11',             'ie_mob 11',
  'ios_saf 14.0-14.5', 'kaios 2.5',
  'op_mini all',       'op_mob 62',
  'opera 73',          'safari 14',
  'samsung 13.0'
]
我对Lamda代码有异议

'use strict';
const caniuse = require('caniuse-api');
const request = require('request');

const browsers = caniuse.getLatestStableBrowsers();
const versions = browsers.reduce((memo, bro) => {
    const parts = bro.split(' ');
    memo[parts[0]] = parts[1];
    return memo;
    });
    console.log(versions);
运行良好的Express代码

'use strict'
const express = require('express');
const caniuse = require('caniuse-api');
const app = express();

app.use(express.json());

app.get('/', (req, res) => {
  const browsers = caniuse.getLatestStableBrowsers();
  const versions = browsers.reduce((memo, bro) => {
    const parts = bro.split(' ');

    memo[parts[0]] = parts[1];

    return memo;
  }, {});

  res.send({ versions });
});



array reducer方法缺少初始值,而在express代码中定义了初始值

“严格使用”;
const caniuse=require('caniuse-api');
const request=require('request');
const browsers=caniuse.getLatestStableBrowsers();
const versions=browsers.reduce((memo,bro)=>{
常量[浏览器,版本]=兄弟拆分(“”);
备忘录[浏览器]=版本;
返回备忘录;
}, {});
console.log(版本);

导致错误的代码没有定义reduce的默认初始值
Array.reduce(reducer\u函数,initial\u值)
hi,@Wazeed是对的,您有一个express部分的初始值(空
{}
),您需要在lambda代码中执行相同的操作。看见