Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.07.2021, 16:56
Аспирант
Отправить личное сообщение для AnthonyFink Посмотреть профиль Найти все сообщения от AnthonyFink
 
Регистрация: 14.10.2017
Сообщений: 31

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

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 тест.
спасибо большое за помощь
Ответить с цитированием
  #2 (permalink)  
Старый 26.07.2021, 17:46
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

AnthonyFink,
что функция должна делать?
Ответить с цитированием
  #3 (permalink)  
Старый 26.07.2021, 17:56
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

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>
Ответить с цитированием
  #4 (permalink)  
Старый 26.07.2021, 18:08
Аспирант
Отправить личное сообщение для AnthonyFink Посмотреть профиль Найти все сообщения от AnthonyFink
 
Регистрация: 14.10.2017
Сообщений: 31

спасибо большое. понял что надо было сделать
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как добавить данные в глобальный массив из функции Jigan2 jQuery 2 14.03.2015 18:06