<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
</head>
<body>
<script language="JavaScript">
<!--
// arr:输入数组,num:2个数的和
function test(ar,num) {
var arr = eval(ar);
var compareNum = arr[0];
// 保存2数之和等于num的组合。
var numArr = new Array();
var flag = false;
for (var i=0;i<=arr.length-1;i++ )
{
compareNum = arr[i];
for (var j=i+1;j<=arr.length ; j++)
{
flag = false;
if (compareNum + arr[j] == num)
{
// 确保compareNum没有在之前已经出现过
for (var k=0;k<numArr.length ;k++ )
{
if (numArr[k] == i || arr[k] == compareNum)
{
flag = true;
}
}
if (!flag) // 将需要删除的元素的下标放入数组
{
numArr.push(i);
numArr.push(j);
break;
}
}
}
}
// 将需要删除的元素用'a'代替
for (var k=0;k<numArr.length ;k++ )
{
arr.splice(numArr[k],1,'a');
}
// 存放最终的元素
var resultArr = new Array();
for (var i=0;i<arr.length ;i++ )
{
if (arr[i] != 'a')
{
resultArr.push(arr[i]);
}
}
alert(resultArr);
}
//-->
</script>
<h5>实现:将一个数组中2数之和等于某值的元素删除。</h5><br>
<input type='text' value='[1,12,2,2,12,14,14,5,9,0,3,11,11]' style="width:300px;" id='arr'>
<input type='text' value='14' id='num'>
<input type='button' value='计算' οnclick='test(document.getElementById("arr").value,document.getElementById("num").value)'><br>
</body>
</html>