20.08.2012, 16:47
|
Профессор
|
|
Регистрация: 31.05.2012
Сообщений: 396
|
|
Сообщение от Deff
|
oneguy,
я сообразил (потому и затёр
|
Хорошо. Я своё затирать не буду, может ещё кто-то не сразу догадается.
|
|
20.08.2012, 16:55
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
Сообщение от oneguy
|
Ещё такое решение:
|
Соль сей штуки - достаточно практичная - к примеру для ротации объекта в слайдере (пусть буква будет хеш некого обекта, ессено буквы/цыфры - не дублируются
|
|
20.08.2012, 17:02
|
|
junior
|
|
Регистрация: 29.11.2011
Сообщений: 3,924
|
|
oneguy, ты еще, наверно, в школе на пятерки по математике учился, да?
Сообщение от Deff
|
Соль сей штуки - достаточно практичная - к примеру для ротации объекта в слайдере (пусть буква будет хеш некого обекта, ессено буквы/цыфры - не дублируются
|
шо ты нам все буквами, цифрами, пример давай
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
|
|
20.08.2012, 17:13
|
Профессор
|
|
Регистрация: 31.05.2012
Сообщений: 396
|
|
Сообщение от wawandas
|
Ребята! подскажите пожалуйста как извлечь уникальные значения из массива:
var array = [1,2,3,4,1,2,6,7];
заранее спасибо!
|
Моё решение в предположении, что в массиве хранятся числа и порядок чисел в выходном массиве не важен:
function unique(arr) {
if (!arr.length)
return [];
var arr2=arr.concat().sort(function (x, y) {
return x-y;
});
var result=[arr2[0]], i=0, len=arr2.length-1;
while (i<len)
if (arr2[i]!=arr2[++i])
result.push(arr2[i]);
return result;
}
//тесты
alert(unique([1,2,3,4,1,2,6,7]));
|
|
30.08.2012, 10:01
|
|
Аспирант
|
|
Регистрация: 05.08.2012
Сообщений: 58
|
|
/*
Используя только арифметическую операцию +, напишите функцию, которая принимает аргумент - число, и возвращает такое же число с противоположным знаком.
Пример: Из числа 13 на выходе получить -13.
*/
function negative(n)
{
return n+(-n)+(-n);
}
alert(negative(13));
n = '-' + n;
return parseInt(n);//не канает!
какие есть еще решения? думаем, делимся, спасибо за внимание!
|
|
30.08.2012, 10:10
|
|
Профессор
|
|
Регистрация: 03.05.2011
Сообщений: 848
|
|
Сообщение от wawandas
|
/*
Используя только арифметическую операцию +, напишите функцию, которая принимает аргумент - число, и возвращает такое же число с противоположным знаком.
Пример: Из числа 13 на выходе получить -13.
*/
function negative(n)
{
return n+(-n)+(-n);
}
alert(negative(13));
n = '-' + n;
return parseInt(n);//не канает!
какие есть еще решения? думаем, делимся, спасибо за внимание!
|
а чем вас ваш последний вариант не устроил?
var n = 13;
n = '-' + n;
alert(parseInt(n));//не канает!
|
|
30.08.2012, 10:18
|
|
Аспирант
|
|
Регистрация: 05.08.2012
Сообщений: 58
|
|
Сообщение от lord2kim
|
Используя только арифметическую операцию +
|
меня устраивает, но оно не отвечает условию (((
+ здесь выступает как контактенация а не как арифметическая операция
Последний раз редактировалось wawandas, 30.08.2012 в 10:26.
|
|
30.08.2012, 10:25
|
|
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,589
|
|
var n = 13;
n = +('-' + n);
alert(n)
alert(typeof n)
Но условие убогое, ибо трактовать можно как угодно.
Например "арифметическую" - тогда этот вариант не катит так как " '-' + n " - не арифметический +, а конкатенация и " +('-' + n) " - также не арифметический +, а приведение к числу.
Или взять "только", тогда вообще никакой вариант не проходит: в первом варианте использован минус и в обоих, божеж ты мой, использованы скобочки.
__________________
29375, 35
Последний раз редактировалось Aetae, 30.08.2012 в 10:42.
|
|
30.08.2012, 10:25
|
|
Профессор
|
|
Регистрация: 03.05.2011
Сообщений: 848
|
|
wawandas, сори не до конца дочитал...ну тогда только
var n = 13;
n = n + (-n) + (-n); //n = n + (-2 * n);
alert(parseInt(n));
хотя тут также условие не выполняется, ибо используется операция отрицания
|
|
30.08.2012, 10:30
|
|
Аспирант
|
|
Регистрация: 05.08.2012
Сообщений: 58
|
|
Сообщение от lord2kim
|
ибо используется операция отрицания
|
в данном случае - это знак числа, или не?
|
|
|
|