**更新
console.log(Array.isArray(primaryNumberFemales)); // true
我导出它:
export {
primaryNumberFemales,
};
**结束更新
我有一个数组(当然是类型对象),如下所示:
const primaryNumberFemales = [{
name: 'Sky',
number: 6,
duality: 'Yang',
complexity: 'Complex',
year: [1910,
1919,
1928,
1937,
1946,
1955,
1964,
1973,
1982,
1991,
2000,
2009,
2018,
],
},
{
name: 'Lake',
number: 7,
duality: 'Yin',
complexity: 'Simple',
year: [1911,
1920,
1929,
1938,
1947,
1956,
1965,
1974,
1983,
1992,
2001,
2010,
2019,
],
},
];
我导入的是:
import {
primaryNumberFemales,
} from './data';
并确认它是导入后的对象(因此没有任何有趣的事情发生):
console.log(typeof primaryNumberFemales); // object
我想在VS Code 1.20.1中键入check my JS,所以添加:
// @ ts-check
现在使用下面的代码我在find
的每个实例的linter中得到一个错误,该程序工作正常!:
return (gender === 'F') ? {
primaryNumber: (primaryNumberFemales.find(includesYearOfBirth) || {}).number,
typeOfExpression: (primaryNumberFemales.find(includesYearOfBirth) || {}).name,
} : {
primaryNumber: (primaryNumberMales.find(includesYearOfBirth) || {}).number,
typeOfExpression: (primaryNumberMales.find(includesYearOfBirth) || {}).name,
};
类型'{[x:string]上不存在属性'find':any; name:string;号码:号码;二元性:字符串;复杂性:字符串;一年:麻木......'。
我知道Array.prototype.find()是es6,过去不支持它(之前有很多帖子),但现在肯定应该支持它。我的代码有问题,还是这种错误?谢谢!
如果我在脑海中解析代码,当我看到这个表达式时:
import { primaryNumberFemales } from './data';
我想知道错误是不是在这里,因为你的模块不会导出这个常量。要解决这个问题,我会使用export
关键字:
export const primaryNumberFemales = [{
name: 'Sky',
number: 6,
duality: 'Yang',
complexity: 'Complex',
year: [1910,
1919,
1928,
1937,
1946,
1955,
1964,
1973,
1982,
1991,
2000,
2009,
2018,
],
},
{
name: 'Lake',
number: 7,
duality: 'Yin',
complexity: 'Simple',
year: [1911,
1920,
1929,
1938,
1947,
1956,
1965,
1974,
1983,
1992,
2001,
2010,
2019,
],
},
];
如果我通过编译器运行这个例子看起来很开心,我也可以使用Array.find
方法。我已将我的编译器设置为目标ES6
。