我正在尝试创建一个添加到 Array.prototype 对象的方法。目标是返回一个数组,该数组不包含传递给我的方法的数组中的索引值。
以下是我的测试规格。
describe('doNotInclude', () => {
it('the doNotInclude method is added to the Array.prototype object', () => {
expect(typeof Array.prototype.doNotInclude).toBe('function');
});
it('returns an array', () => {
expect(Array.isArray([1, 2, 3, 4].doNotInclude(3))).toBe(true);
expect(Array.isArray([1, 2, 3, 4].doNotInclude([0, 2]))).toBe(true);
});
it('does not include the index values from the array passed to `doNotInclude`', () => {
expect([1, 2, 3, 4, 5].doNotInclude([3, 4])).toEqual([1, 2, 3]);
expect(
['zero', 'one', 'two', 'three', 'four', 'five', 'six'].doNotInclude([
0,
1,
])
).toEqual(['two', 'three', 'four', 'five', 'six']);
我的代码如下:
Array.prototype.doNotInclude = function (arr){
return this.filter((elem, index) => {
if (!arr.includes(index)){
return elem;
}
})
}
我的代码没有通过任何规范。我究竟做错了什么?
还要检查我的概念理解,过滤器方法在哪个数组上运行?它是包含索引的那个吗?
紫衣仙女
白衣染霜花
相关分类