JavaScript过滤数组中重复元素
JavaScript过滤数组中重复元素
我是个JS初学者,我即将要说的这个方法也是大部分人都能想到的:
从旧数组中取元素,一个个添加到新数组中,在添加的时候,与添加过的元素比较,如果相同,则不添加。
首先定义两个数组:
Code
var arrA = new Array(1,23,43,64,1,23,5,8,3,5,9);
var arrB = getNewArray(arrA); // 过滤函数
然后开始编写函数getNewArray()
Code
function getNewArray(receiveArray)
{
var arrResult = new Array(); //定义一个返回结果数组.
for (var i=0; i<receiveArray.length; i++)
{
if (/*在这里做i元素与所有判断相同与否, 调用函数check(arrResult, receiveArray[i]);*/)
{
arrResult.push(receiveArray[i]); // 添加该元素到新数组。如果if内判断为false(即已添加过),则不添加。
}
}
return arrResult;
}
然后编写判断函数check()
Code
function check(receiveArray, checkItem)
{
var index = -1; // 函数返回值用于布尔判断
for (var i=0; i<receiveArray.length; i++)
{
if (receiveArray[i]==checkItem)
{
index = i;
break;
}
}
return index;
}
则在函数getNewArray()中的if应该写成:
Code
chec
相关文档:
由于项目需要,用到其他项目组用VC开发的组件,在web后台代码无法访问这个组件,所以只好通过后台调用前台的javascript,从而操作这个组件。在网上找了找,发现有三种方法可以访问到前台代码:
第一种,OnClientClick (vs2003不支持这个方法)
<asp:Button ID="Button1" runat="se ......
1、插入排序->直接插入法排序
function InsertSort(arr) { //插入排序->直接插入法排序
var st = new Date();
var temp, j;
for(var i=1; i<arr.length; i++) {
if((arr[i]) < (arr[i-1])) {
temp = arr[i];
j = i-1;
do {
arr[j+1] = arr[j];
j--;
}
whil ......
以下全是个人理解以及网上查找而来,如有不对请指正...
假如有n段js代码 用<script>标签隔开的.
运行顺序是
step1. 读入第一个代码段
step2. 做语法分析,有错则报语法错误(比如括号不匹配等),并跳转到step5
step3. 对var变量和function定义做“预解析”(永远不会报错的,因为只解析正确的声明)
......