如何更正函数错误,TypeError 'flattenArray' 不是 Mocha 中的函数

How to correct a function error, TypeError 'flattenArray' is not a function in Mocha

我正在使用 Mocha 和 Chai 学习基本测试。我的测试一直失败并出现错误 "TypeError: flattenArray is not a function"。这是函数代码...flattenArray.js

 export function flattenArray(arr){
 let result = [];
   arr.forEach(function(element) {
      if(!Array.isArray(element)) {
       result.push(element);
      } else {
        result = result.concat(flattenArrays(element));
      }
    });
    return result;
  }

这是我的测试文件,flattenArray.spec.js

var chai = require('chai');
var assert = require('chai').assert;
var expect = require('chai').expect;
var describe = require('mocha').describe;
import * as flattenArray from '../src/flattenArray';


describe('Array', function() {
  describe('#flattenArray()', function() {
    it('should return a single, flat array', function(){
      expect(flattenArray([1,2,3])).to.be.equal([1,2,3])
   })
  })
})



describe('Array', function() {
  it('should start empty', function() {
    var arr = [];
    assert.equal(arr.length, 0);
  });
});

我做错了什么?我有一个通过和一个失败。如何让 flattenArray 测试起作用?

函数 flattenArray() 是一个 named export。你应该像这样导入它:

import { flattenArray } from '../src/flattenArray';
const data = [1, 2, 'abc', [4 ,{a:[5],b:{c:6}}], [], [[7]], null, 8,['xyz',9],[[]]];
let newArray = [];
function flattenArray(arr){
  for(var i in arr){
    if(typeof arr[i] != "object"){
      newArray.push(arr[i])
    }else{
      flattenArray(arr[i])
    };
  }
  return newArray;
}
console.log(flattenArray(data));