Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Задача по JavaScript (https://javascript.ru/forum/misc/30820-zadacha-po-javascript.html)

wawandas 17.08.2012 16:57

да, но не работает должным образом (((

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()

Dim@ 17.08.2012 18:57

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);

Deff 17.08.2012 19:21

Цитата:

Сообщение от 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);

Dim@ 17.08.2012 19:22

Deff,
:blink: :blink:

wawandas 17.08.2012 20:41

Dim@,
взаимно ;)

wawandas 17.08.2012 20:42

Deff,
было бы здорово если бы 1цу тоже выводило :-? , всем спасибо за труды и внимание!

Deff 17.08.2012 20:44

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>

wawandas 17.08.2012 21:17

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);

Deff 17.08.2012 21:34

wawandas,
[JS run]Тут код[/JS]

wawandas 17.08.2012 21:40

спасибо!


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