Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   реализация функции принимающей в себя массив с числами. и возвращаюшей новый (https://javascript.ru/forum/misc/82887-realizaciya-funkcii-prinimayushhejj-v-sebya-massiv-s-chislami-i-vozvrashhayushejj-novyjj.html)

AnthonyFink 26.07.2021 16:56

реализация функции принимающей в себя массив с числами. и возвращаюшей новый
 
Добрый день я не могу понять что я делаю не так в коде или что не доделал.

const getSameParity = (array) => {
	const newArr = []
	if (array.length === 0) {
		return newArr;
	}
	let first = array[0] % 2;
	for (const arr of array) {
		if(first %2 === 0 || arr % 2 !== 0){
			newArr.push(arr)
		}
	}
	return newArr;
};
getSameParity([1,2,-3])

это моя функция а следующий блок кода будет уже тест с jest

describe('checking array', () => {

	it('Empty Array', () => {
		const result1 = getSameParity([]);
		expect(result1).toEqual([]);
	});
	it('result 2', ()=> {
		const result2 = getSameParity([1, 2, 3]);
		expect(result2).toEqual([1, 3]);
	});
	it('result 3', () => {
		const result3 = getSameParity([1, 2, 8]);
		expect(result3).toEqual([1]);
	});
	it('result 4', () => {
		const result4 = getSameParity([2, 2, 8]);
		expect(result4).toEqual([2, 2, 8]);
	});
	it('result 5', () => {
		const result5 = getSameParity([1, 2, -3]);
		expect(result5).toEqual([1, -3]);
	});
	it('result 6', ()=> {
		const result6 = getSameParity([-3, 2, 1]);
		expect(result6).toEqual([-3, 1]);
	});
	it('result 7', ()=> {
		const result7 = getSameParity([4, 1, 8]);
		expect(result7).toEqual([4, 8]);
	})
})


я прохожу все тесты кроме 7. и не могу понять как мне сделать так чтобы моя функция проходила и 7 тест.
спасибо большое за помощь

рони 26.07.2021 17:46

AnthonyFink,
что функция должна делать?

рони 26.07.2021 17:56

AnthonyFink,
<script>
const getSameParity = (array) => {
    let first = Math.abs(array[0]) % 2;
    return array.filter(a => Math.abs(a) % 2 === first);
};
document.write(JSON.stringify(getSameParity([4, 1, 8])))
    </script>

AnthonyFink 26.07.2021 18:08

спасибо большое. понял что надо было сделать


Часовой пояс GMT +3, время: 05:49.