js操作数组函数实例小结
作者:bea
本文实例讲述了js操作数组函数。分享给大家供大家参考,具体如下: 1.删除数组中指定的元素 /** * 参考实例foreach = function (obj, insp){ if(obj== null && obj.constructor != Array){ return [];}//obj是要处理的数组,obj==null 表示对象尚未存在;obj.constructor != Array 表示对象obj的属性的构造函数不是数组;//constr
本文实例讲述了js操作数组函数。分享给大家供大家参考,具体如下:
1.删除数组中指定的元素
/**
* 参考实例
foreach = function (obj, insp){
if(obj== null && obj.constructor != Array){
return [];
}
//obj是要处理的数组,obj==null 表示对象尚未存在;obj.constructor != Array 表示对象obj的属性的构造函数不是数组;
//constructor属性始终指向创建当前对象的构造函数。两个条件均满足,则返回空数组[];
//下面对constructor属性作进一步了解。
var obj= [1, 2, 3, 4]; // 等价于 var obj= new Array(1, 2, 3, 4);
console.log(obj.constructor === Array); // 返回true 表明obj的构造函数为Array;
var foo= function() { }; // 等价于 var foo = new Function();
console.log(foo.constructor === Function); // 返回true 表明foo的构造函数为Function;
var obj = new Foo(); //由构造函数实例化一个obj对象
console.log(obj.constructor === Foo); // 返回true 表明obj的构造函数为Foo;
*/
//删除数组中指定的元素
function del(val, arr)
{
//检测参数
if (arr == null && arr.constructor != Array) {
return [];
}
var newarr = []; //不存在的保存到新数组中
for (var i = 0; i < arr.length; i++) {
if (arr[i] != val)
newarr.push(arr[i]);
}
return newarr;
}
alert(del(2, [1, 2, 3, 4, 5, 2]));
2.去除重复的元素
/**
*去除数组中重复的元素
把元素的值存为一个新数组的key,key是不可以重复的,然后变量次数组即可
*/
function unique(data) {
data = data || [];
var a = {};
len = data.length;
for (var i = 0; i < len; i++) {
var v = data[i];
if (typeof(a[v]) == 'undefined') {
a[v] = 1;
}
};
data.length = 0;
for (var i in a) {
data[data.length] = i;
}
return data;
}
alert(unique([12,12,12,34]));
3.删除数组指定下标的元素
/**
*删除数组的指定下标元素
*
* i 的值是一直在变的,n的值是只有if条件成立的时候才会变(会依次递增)
*/
Array.prototype.remove=function(dx)
{
if(isNaN(dx)||dx>this.length){return false;}
for(var i=0,n=0;i<this.length;i++)
{
if(this[i]!=this[dx])
{
this[n++]=this[i]
}
}
this.length-=1
}
var arr = [1,2,3,4,2,5];
alert(arr);
arr.remove(2);
alert(arr);
希望本文所述对大家JavaScript程序设计有所帮助。
有用 | 无用
1.删除数组中指定的元素
/**
* 参考实例
foreach = function (obj, insp){
if(obj== null && obj.constructor != Array){
return [];
}
//obj是要处理的数组,obj==null 表示对象尚未存在;obj.constructor != Array 表示对象obj的属性的构造函数不是数组;
//constructor属性始终指向创建当前对象的构造函数。两个条件均满足,则返回空数组[];
//下面对constructor属性作进一步了解。
var obj= [1, 2, 3, 4]; // 等价于 var obj= new Array(1, 2, 3, 4);
console.log(obj.constructor === Array); // 返回true 表明obj的构造函数为Array;
var foo= function() { }; // 等价于 var foo = new Function();
console.log(foo.constructor === Function); // 返回true 表明foo的构造函数为Function;
var obj = new Foo(); //由构造函数实例化一个obj对象
console.log(obj.constructor === Foo); // 返回true 表明obj的构造函数为Foo;
*/
//删除数组中指定的元素
function del(val, arr)
{
//检测参数
if (arr == null && arr.constructor != Array) {
return [];
}
var newarr = []; //不存在的保存到新数组中
for (var i = 0; i < arr.length; i++) {
if (arr[i] != val)
newarr.push(arr[i]);
}
return newarr;
}
alert(del(2, [1, 2, 3, 4, 5, 2]));
2.去除重复的元素
/**
*去除数组中重复的元素
把元素的值存为一个新数组的key,key是不可以重复的,然后变量次数组即可
*/
function unique(data) {
data = data || [];
var a = {};
len = data.length;
for (var i = 0; i < len; i++) {
var v = data[i];
if (typeof(a[v]) == 'undefined') {
a[v] = 1;
}
};
data.length = 0;
for (var i in a) {
data[data.length] = i;
}
return data;
}
alert(unique([12,12,12,34]));
3.删除数组指定下标的元素
/**
*删除数组的指定下标元素
*
* i 的值是一直在变的,n的值是只有if条件成立的时候才会变(会依次递增)
*/
Array.prototype.remove=function(dx)
{
if(isNaN(dx)||dx>this.length){return false;}
for(var i=0,n=0;i<this.length;i++)
{
if(this[i]!=this[dx])
{
this[n++]=this[i]
}
}
this.length-=1
}
var arr = [1,2,3,4,2,5];
alert(arr);
arr.remove(2);
alert(arr);
希望本文所述对大家JavaScript程序设计有所帮助。
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- jQuery Uploadify 上传插件出现Http Error 302 错误的解决办法
- jQuery同步提交示例代码
- JavaScript匿名函数之模仿块级作用域
- 自定义Angular指令与jQuery实现的Bootstrap风格数据双向绑定的单选与多选下拉框
- jQuery入门之层次选择器实例简析
- jQuery使用$.ajax提交表单完整实例
- jQuery使用$.ajax进行即时验证实例详解
- JavaScript基础篇(6)之函数表达式闭包
- jQuery弹簧插件编写基础之“又见弹窗”
- jQuery点击改变class并toggle及toggleClass()方法定义用法
- Express实现前端后端通信上传图片之存储数据库(mysql)傻瓜式教程(二)
- Express的路由详解
- 在 Express 中使用模板引擎
- Express实现前端后端通信上传图片之存储数据库(mysql)傻瓜式教程(一)
- 基于jQuery实现复选框是否选中进行答题提示
- 详解AngularJS中module模块的导入导出
- SpringMVC restful 注解之@RequestBody进行json与object转换
- Spring mvc 接收json对象
- SpringMVC返回json数据的三种方式