获得具有相同价值的arraylist元素(不是无足轻重的。你必须阅读!) [英] getting arraylist elements with same value (not trivial. you have to read!)

查看:44
本文介绍了获得具有相同价值的arraylist元素(不是无足轻重的。你必须阅读!)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个arraylist。说它包含整数值。我希望能够告诉用户
,数组中的哪些索引包含相同的值。但是有
可以是N个不同的值,而M个不同的索引具有相同的值。

实际上我会用javascript数组来做这个来通知用户哪个输入''s

具有相同的值。但我认为这不是问题。

解决方案

>我有一个arraylist。说它包含整数值。我希望能够

告知用户,数组中的哪些索引包含相同的值。但是可以有N个不同的值,M个不同的索引具有相同的值。
实际上我会用javascript数组来做这个,告知用户哪个输入'
具有相同的值。但我认为这不是问题。




究竟是什么问题?根本找到所有重复项,写出

有效代码或告知用户重复项?


Wiktor Zychla


其中三个。找到所有重复这种最有效的方法,并告知

用户哪个文本框彼此冲突。我完成了我的工作。一些部分

是土耳其语(在警报信息中),但我认为,它很容易被理解。

这里是我的代码。所有的建议(特别是关于性能的大概

赞赏。)


< html>

< head>

< title>< / title>

< script type =" text / javascript">

var caseSensitive = false;

函数getAllTextInputs(beginningId)

{

aryResult = new Array();

var allTextInputElements = document.getElementsByTagName(' 'input'');

var count = 0;

for(var i = 0; i< allTextInputElements.length; i ++)

{

var currentElement = allTextInputElements [i];

if(currentElement.type ==" text"&&

currentElement .id.indexOf(beginningId)== 0)

{

aryResult [count ++] = allTextInputElements [i];

}

}

返回aryResult;

}


函数getUniqueInputs(aryTextInputs)

{

var aryUniqueInputs = new Array();

for(var i = 0;我< aryTextInputs.length; i ++)

{

var tempUniqueArray = null;

for(var j = i + 1; j< aryTextInputs.length; j ++)

{

var xValue = caseSensitive? aryTextInputs [i] .value:

aryTextInputs [i] .value.toLowerCase();

var yValue = caseSensitive? aryTextInputs [j] .value:

aryTextInputs [j] .value.toLowerCase();

if(xValue == yValue)

{

if(tempUniqueArray == null)

{

tempUniqueArray = new Array();

tempUniqueArray.push (aryTextInputs [i]);

}

tempUniqueArray.push(aryTextInputs [j]);

aryTextInputs.splice(j,1) ;

j--;

}

}

if(tempUniqueArray!= null)

{

aryUniqueInputs.push(tempUniqueArray);

}

}

返回aryUniqueInputs; < br $>
}


函数getAlertMessage(aryUniqueInputs)

{

var alertMessage =''Attaeydaki giritler ayny deeeri i?ermekte:'';

for(var i = 0; i< aryUniqueInputs.length; i ++)

{

alertMessage (= j j = 0; j< aryUniqueInputs [i] .length; j ++)

{
/>
alertMessage + = aryUniqueInputs [i] [j ] .friendlyName!= null?

aryUniqueInputs [i] [j] .friendlyName:aryUniqueInputs [i] [j] .id;

if(j!= aryUniqueInputs [ i] .length -1)

alertMessage + ="," ;;

}

}

return alertMessage;

}


函数validate_Form()

{

调试器;

var aryTextInputs = getAllTextInputs(''kod'');


var aryUniqueInputs = getUniqueInputs(aryTextInputs);


if (aryUniqueInputs.length!= 0)

{

var alertMessage = getAlertMessage(aryUniqueInputs);

alert(alertMessage);

返回false;

}

else

返回true;

}

< / script>

< / head>

< body>

< form onsubmit =" return validate_Form ();">

Alan 1< input type =" text" ID = QUOT; kod00" friendlyName =" Alan 1">< br>

Alan 2< input type =" text" ID = QUOT; kod01" friendlyName =" Alan 2">< br>

Alan 3< input type =" text" ID = QUOT; kod02" friendlyName =" Alan 3">< br>

Alan 4< input type =" text" ID = QUOT; kod03" friendlyName =" Alan 4">< br>

Alan 5< input type =" text" ID = QUOT; kod04" friendlyName =" Alan 5">< br>

Alan 6< input type =" text" ID = QUOT; kod05" friendlyName =" Alan 6">< br>

Alan 7< input type =" text" ID = QUOT; kod06" friendlyName =" Alan 7">< br>

Alan 8< input type =" text" ID = QUOT; kod07" friendlyName =" Alan 8">< br>

< input type =" submit">

< / form>

< / body>

< / html>


<" The Crow" < Q>>写道:

我有一个arraylist。说它包含整数值。我希望能够告知用户,数组中的哪些索引包含相同的值。但是可以有N个不同的值,M个不同的索引具有相同的值。
实际上我会用javascript数组来做这个,告知用户哪个输入'
具有相同的值。但我认为这不是问题。




鉴于你实际上并没有使用C#,我*强烈*建议你问

而是在JavaScript新闻组上。这里的答案不太可能来自JS专家,因此可能很容易出错或低于最佳状态。


-

Jon Skeet - < sk *** @ pobox.com>
http ://www.pobox.com/~skeet 博客: http:/ /www.msmvps.com/jon.skeet

如果回复小组,请不要给我发邮件


i have a arraylist. say it contains integer values. i want to be able to
inform user, which indexes in the array contain same values. but there can
be N different values, and M different indexes having the same value.
actually i will do this with javascript array to inform user which input''s
have same value. but i think its not a matter.

解决方案

>i have a arraylist. say it contains integer values. i want to be able to

inform user, which indexes in the array contain same values. but there can
be N different values, and M different indexes having the same value.
actually i will do this with javascript array to inform user which input''s
have same value. but i think its not a matter.



what exactly is your problem? to find all duplicates at all, to write
effective code or to inform the user of duplicates?

Wiktor Zychla


three of them. find all duplicates doing this most effective way, and inform
user which textbox''es conflict with each other. ive done my job. some parts
are turkish (in alert message) but i think, it would be easly unserstood.
here are my codes. all advices (espessialy about performanse greatly
appreciated.)

<html>
<head>
<title></title>
<script type="text/javascript">
var caseSensitive = false;
function getAllTextInputs(beginningId)
{
aryResult = new Array();
var allTextInputElements = document.getElementsByTagName(''input'');
var count = 0;
for(var i = 0; i < allTextInputElements.length; i++)
{
var currentElement = allTextInputElements[i];
if(currentElement.type == "text" &&
currentElement.id.indexOf(beginningId) == 0)
{
aryResult[count++] = allTextInputElements[i];
}
}
return aryResult;
}

function getUniqueInputs(aryTextInputs)
{
var aryUniqueInputs = new Array();

for(var i = 0; i < aryTextInputs.length; i++)
{
var tempUniqueArray = null;
for(var j = i + 1; j < aryTextInputs.length; j++)
{
var xValue = caseSensitive ? aryTextInputs[i].value :
aryTextInputs[i].value.toLowerCase();
var yValue = caseSensitive ? aryTextInputs[j].value :
aryTextInputs[j].value.toLowerCase();
if(xValue == yValue)
{
if(tempUniqueArray == null)
{
tempUniqueArray = new Array();
tempUniqueArray.push(aryTextInputs[i]);
}
tempUniqueArray.push(aryTextInputs[j]);
aryTextInputs.splice(j, 1);
j--;
}
}
if(tempUniqueArray != null)
{
aryUniqueInputs.push(tempUniqueArray);
}
}
return aryUniqueInputs;
}

function getAlertMessage(aryUniqueInputs)
{
var alertMessage = ''Attaeydaki giritler ayny deeeri i?ermekte :'';
for(var i = 0; i < aryUniqueInputs.length; i++)
{
alertMessage += "\r\n";
for(var j = 0; j < aryUniqueInputs[i].length; j++)
{
alertMessage += aryUniqueInputs[i][j].friendlyName != null ?
aryUniqueInputs[i][j].friendlyName : aryUniqueInputs[i][j].id;
if(j != aryUniqueInputs[i].length -1)
alertMessage += ", ";
}
}
return alertMessage;
}

function validate_Form()
{
debugger;
var aryTextInputs = getAllTextInputs(''kod'');

var aryUniqueInputs = getUniqueInputs(aryTextInputs);

if(aryUniqueInputs.length != 0)
{
var alertMessage = getAlertMessage(aryUniqueInputs);
alert(alertMessage);
return false;
}
else
return true;
}
</script>
</head>
<body>
<form onsubmit="return validate_Form();">
Alan 1<input type="text" id="kod00" friendlyName="Alan 1"><br>
Alan 2<input type="text" id="kod01" friendlyName="Alan 2"><br>
Alan 3<input type="text" id="kod02" friendlyName="Alan 3"><br>
Alan 4<input type="text" id="kod03" friendlyName="Alan 4"><br>
Alan 5<input type="text" id="kod04" friendlyName="Alan 5"><br>
Alan 6<input type="text" id="kod05" friendlyName="Alan 6"><br>
Alan 7<input type="text" id="kod06" friendlyName="Alan 7"><br>
Alan 8<input type="text" id="kod07" friendlyName="Alan 8"><br>
<input type="submit">
</form>
</body>
</html>


<"The Crow" <q>> wrote:

i have a arraylist. say it contains integer values. i want to be able to
inform user, which indexes in the array contain same values. but there can
be N different values, and M different indexes having the same value.
actually i will do this with javascript array to inform user which input''s
have same value. but i think its not a matter.



Given that you''re not actually using C#, I *strongly* suggest you ask
on a JavaScript newsgroup instead. Answers here are less likely to be
from JS experts, and so could easily be wrong or less than optimal.

--
Jon Skeet - <sk***@pobox.com>
http://www.pobox.com/~skeet Blog: http://www.msmvps.com/jon.skeet
If replying to the group, please do not mail me too


这篇关于获得具有相同价值的arraylist元素(不是无足轻重的。你必须阅读!)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆