заменить числа 0 и 1

278
25 февраля 2017, 06:41

Задача, функция принимает числовую строку, если первое число в строке меньше пяти, заменить его на 0, если больше на 1.

Результат работы должен быть такой:

fakeBin('45385593107843568') --> '01011110001100111'

Вот мой код, не разберусь почему он возвращает кроме 0 и 1, ещё и оригинальные значения. Как это исправить ?

function fakeBin(text){ 
	var result = ''; 
	for (var i = 0; i < text.length; i++) { 
		if (text[i] < 5) { 
			result += 0 + " "; 
		} else { 
			result += 1 + " "; 
		} 
		result += text[i] + " "; 
	} 
	return result.slice(0, result.length-1); 
} 
 
fakeBin('16');

Answer 1

function fakeBin(text){ 
	var result = ''; 
	for (var i of text) { 
		if (i < 5) 
			result += 0; 
		else 
			result += 1; 
	} 
	return result; 
} 
 
console.log(fakeBin('01234567890123456789'));

Answer 2

result += text[i] + " "; убери эту строчку

Answer 3

const fakeBin = string =>  
string.length ? ( parseFloat(string[0]) < 5 ? "0" : "1" ) + fakeBin( string.substring(1) ) : string; 
 
console.log(fakeBin("45385593107843568"));

READ ALSO
Как сделать скачивание файла Drop data-downloadurl

Как сделать скачивание файла Drop data-downloadurl

Можно ли сделать, что б при перетаскивании картинки - она сохранилась как zip-архив? Большинство запросов приводят к upload, но мне нужен downloadЕсли...

250
getElementById не видит элемент

getElementById не видит элемент

Добрый день! Есть такой кусок кода:

271
Живой поиск - глюк при работе с планшета

Живой поиск - глюк при работе с планшета

Нашел в сети вот такой простенький "живой поиск", суть проста, есть input, в него начинаем вводить название, если похожее есть в базе, то скрипт...

264