17.08.2012, 16:57
|
|
Аспирант
|
|
Регистрация: 05.08.2012
Сообщений: 58
|
|
да, но не работает должным образом (((
var newStr = '';
var array = [1,2,3,4,1,2,6,7];
for (var i in array)
{
for (var j in array)
{
if (array[i] != array[j])
{
newStr += array[i];
}
}
}
alert(newStr);
решил с помощью array_unique()
Последний раз редактировалось wawandas, 17.08.2012 в 18:53.
|
|
17.08.2012, 18:57
|
|
Профессор
|
|
Регистрация: 21.04.2012
Сообщений: 951
|
|
wawandas,
люблю тех кто учиться и не хамит + тебе (это я такой добрый после общения с троллями )
держи бро:
var mass1 = [1, 2, 3, 2, 4, 5, 6, 7, 8];
var mass2 = [45,1, 3, 3, 1, 12, 12, 45];
function prov(mass){
for (var i = 0; i < mass.length; i++){
for (var j = i; j < mass.length; j++){
if (i != j){
if (mass[i] == mass[j]){
alert("Нумерация с нуля - mass[" + i + "] == mass[" + j + "]\n" + mass[i] + " == " + mass[j]);
}
}
}
}
}
prov(mass1);
prov(mass2);
|
|
17.08.2012, 19:21
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
Сообщение от wawandas
|
Ребята! подскажите пожалуйста как извлечь уникальные значения из массива:
|
var newStr = '';
var array = [1,1,3,4,1,1,6,7];
var str = array.join(",");
var Sin=str;
function Replacer(str, p1, offset, s) {
var reg = '/'+p1+',?/g';
var reg2 = '/'+p1+',?/';
var s2;
var s2=Sin.replace(eval(reg2),'');
var s3=s2.replace(eval(reg),'')
if(s3!=s2)Sin=s3;
return p1 +',';
}
str = str.replace(/(\d*?),/g,Replacer).replace(/^.*?$/g,Sin).split(",");
alert(str);
Последний раз редактировалось Deff, 17.08.2012 в 20:25.
|
|
17.08.2012, 19:22
|
|
Профессор
|
|
Регистрация: 21.04.2012
Сообщений: 951
|
|
Deff,
|
|
17.08.2012, 20:41
|
|
Аспирант
|
|
Регистрация: 05.08.2012
Сообщений: 58
|
|
Dim@,
взаимно
|
|
17.08.2012, 20:42
|
|
Аспирант
|
|
Регистрация: 05.08.2012
Сообщений: 58
|
|
Deff,
было бы здорово если бы 1цу тоже выводило , всем спасибо за труды и внимание!
|
|
17.08.2012, 20:44
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
wawandas,
Ващет мой кривой код, посколь расчитан на 1 цифру в любом числе,
Единицу не выводит - она у меня повторяецо - см.исходный массив
Вродь Поправил
<script type="text/javascript">
var newStr = '';
var array = [111,1,111,2,33,3,44,5,33,44,6,77,77];
var str = array.join(",")+",";
var Sin=str;
function Replacer(str, p1, offset, s) {
var reg = '/'+p1+',?/g';
var reg2 = '/'+p1+',?/';
var s2;
var s2=Sin.replace(eval(reg2),'');
var s3=s2.replace(eval(reg),'')
if(s3!=s2)Sin=s3;
return p1 +',';
}
str = str.replace(/(\d*?),/g,Replacer).replace(/^.*?$/g,Sin);
str=str.substring(0,str.length-1).split(",");
alert(str);
</script>
Последний раз редактировалось Deff, 17.08.2012 в 21:00.
|
|
17.08.2012, 21:17
|
|
Аспирант
|
|
Регистрация: 05.08.2012
Сообщений: 58
|
|
var arr = [1,2,3,4,1,2,6,7];
var tmp_arr = new Array();
for (i = 0; i < arr.length; i++)
{
if (tmp_arr.indexOf(arr[i]) == "-1")
{
tmp_arr.push(arr[i]);
}
}
alert(tmp_arr);
Последний раз редактировалось wawandas, 19.08.2012 в 17:01.
|
|
17.08.2012, 21:34
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
wawandas,
[JS run]Тут код[/JS]
|
|
17.08.2012, 21:40
|
|
Аспирант
|
|
Регистрация: 05.08.2012
Сообщений: 58
|
|
спасибо!
|
|
|
|