我正在学习摩卡和柴的基本测试。我的测试因错误而失败,“TypeError:flattenArray不是函数”。这是功能代码... 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测试工作?
答案 0 :(得分:1)
函数flattenArray()
是named export。你应该像这样导入它:
import { flattenArray } from '../src/flattenArray';
答案 1 :(得分:0)
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));