浅谈JavaScript中数组的增删改查

数组的增加

•ary.push()  

向数组末尾添加元素,返回的是添加后新数组的长度,原有数组改变

•ary.unshift() 

向数组开头添加元素,返回的是添加后新数组的长度,原有数组改变

• var ary=[1,2,3,4];  
var res=ary.unshift(6);  
console.log(res); ---->5

返回的是新数组的长度•ary.splice(n,m,x)从索引n开始删除m个元素,把新增的元素X放在索引n的前面,把删除的元素当成一个新数组返回,原有数组改变。

•ary.splice(n,0,x)

从索引n开始删除0个元素,把新增加的元素x放在索引n的前面,返回的是一个空数组,原有数组改变。

•ary.splice(n,m)

从索引n开始删除m个元素,把删除的内容当做新数组返回,原有数组改变

•splice(0,0,x)----->unshift

数组的删除

•ary.pop() 删除数组的最后一项,返回的是删除的那一项,原有数组改变

•ary.shift() 删除数组的的第一项,返回的是删除的那一项,原有数组改变

•var ary=[5,8,3,4,6];var res=ary.shift();console.dir(res);---->5 返回数组第一项•删除数组最后一项的内容 ary.splice(ary.length-

1,1)  //ary.length-1 数组最后一项的内容         ary.length-=1     ary.length--

•var ary=[5,8,3,4,6];//

ary.splice(ary.length-1,1);//    
ary.length-=1;     
console.dir(ary);---->

输出的是[5,8,3,4]数组的查询和复制

•slice(n,m)从索引n开始,找到索引m处,把找到的内容作为新的数组返回,原有数组不改变

•slice(n-1,m)把数组的第n项到第m项提取出来

•slice(n) 从索引n开始查找到数组末尾

•slice(0) slice() 将原有数组复制一份 属于数组克隆

•concat() 也可以实现数组克隆

•concat的本意是实现数组的拼接 ary.concat(ary2) 把两个数组进行拼接

数组转化为字符串

•tostring把数组的每一项拿出来用逗号隔开,原有数组不变
•join("+")把数组的每一项拿出来用指定分隔符隔开

•数组求和

var ary=[5,8,3,4,6];
var str=ary.join("+");
var total=eval(str);
console.dir(total); //将指定字符串变成真正的表达式执行

 var ary=[5,8,3,4,6];
   var total=0;
   for(var i=0;i<ary.length;i++){
     total+=ary[i];
   }
   console.dir(total); 

数组的排列和排序

•reverse() 把数组倒过来排序,原有数组改变

•sort 可以实现由大到小或者由小到大的排序 但是直接写sort只能排序十以内的数字  ary.sort(function(a,b){return (a-b);})

一些常用的方法 但是不兼容

•indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
•foreach
•map

会在以后的虚席中不断的进行补充 希望可以帮助大家一起理解学习。

以上这篇浅谈JavaScript中数组的增删改查就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • JS数组操作之增删改查的简单实现

    JS提供了很多方便操作数组的方法,本文所要分享的就是如何快速对数组进行增.删.改.查. 一.增 1.push() 可接收任意数量的参数,把它们逐个添加至数组末尾,并返回修改后数组的长度.例如: var arr = []; var len = arr.push(1); console.log(arr); // [1] console.log(len); // 1 len = arr.push(2,3); console.log(arr); // [1,2,3] console.log(len);

  • javascript js 操作数组 增删改查的简单实现

    函数定义 Array.prototype.indexOf = function(val) { for (var i = 0; i < this.length; i++) { if (this[i] == val) return i; } return -1; }; Array.prototype.remove = function(val) { var index = this.indexOf(val); if (index > -1) { this.splice(index, 1); } }

  • 浅谈JavaScript中数组的增删改查

    数组的增加 •ary.push()   向数组末尾添加元素,返回的是添加后新数组的长度,原有数组改变 •ary.unshift()  向数组开头添加元素,返回的是添加后新数组的长度,原有数组改变 • var ary=[1,2,3,4];   var res=ary.unshift(6);   console.log(res); ---->5 返回的是新数组的长度•ary.splice(n,m,x)从索引n开始删除m个元素,把新增的元素X放在索引n的前面,把删除的元素当成一个新数组返回,原有数组改

  • 浅谈JavaScript中面向对象的的深拷贝和浅拷贝

    理解深拷贝和浅拷贝之前需要弄懂一些基础概念,内存中存储的变量类型分为值类型和引用类型. 1.值类型赋值的存储特点, 将变量内的数据全部拷贝一份, 存储给新的变量. 例如:var num = 123 :var num1=num; 表示变量中存储的数字是 123.然后将数据拷贝一份,就是将 123 拷贝一份. 那么内存中有 2 个 数组;将拷贝数据赋值给 num2,其特点是在内存中有两个数据副本.这可以理解为浅拷贝. 2.引用类型的赋值. var o={name:'张三'}: var obj=o;

  • 浅谈javascript中的Function和Arguments

    javascript的Function 属性: 1.Arguments对象 2.caller 对调用单前函数的Function的引用,如果是顶层代码调用,  则返回null(firefox返回undefined).  注:只有在代码执行时才有意义 3.length 声明函数是指定的命名参数的个数(函数定义是,定义参数的个数) 4.prototype 一个对象,用于构造函数,这个对象定义的属性和方法  由构造函数创建的所有对象共享. 方法: applay() --> applay(this,[])

  • 浅谈JavaScript中的对象及Promise对象的实现

    JavaScript 中的所有事物都是对象:字符串.数值.数组.函数.下面小编给大家收集整理些javascript中的对象及promise对象的实现.具体内容如下: 到处都是对象 window对象 常用的属性和方法介绍 location 包含页面的URL,如果改变这个属性,浏览器会访问新的URL status 包含将在浏览器状态去显示的一个串.一般在浏览器左下角 onload: 包含了需要在页面完全加载后调用的函数 document: 包含DOM alert方法: 显示一个提醒 prompt方法

  • 浅谈JavaScript中this的指向更改

    JS中this指向的更改 JavaScript 中 this 的指向问题前面已经总结过,但在实际开中, 很多场景都需要改变 this 的指向. 现在我们讨论更改 this 指向的问题. call更改this指向 call 的使用语法:func.call(thisArg, arg1, arg2, ...) call 方法需要一个指定的 this 值( this要指向的对象 )和一个或者多个参数.提供的 this 值会更改调用函数内部的 this 指向. // 使用 call 方法改变调用函数执行上

  • 浅谈JavaScript中等号、双等号、 三等号的区别

    一个等号是赋值操作,==先转换类型再比较,===先判断类型,如果不是同一类型直接为false. === 判断规则 如果类型不同,就[不相等]  如果两个都是数值,并且是同一个值,那么[相等]:(!例外)的是,如果其中至少一个是NaN,那么[不相等].(判断一个值是否是NaN,只能用isNaN()来判断)  如果两个都是字符串,每个位置的字符都一样,那么[相等]:否则[不相等].  如果两个值都是true,或者都是false,那么[相等].  如果两个值都引用同一个对象或函数,那么[相等]:否则[

  • 浅谈javascript中的constructor

    constructor,构造函数,对这个名字,我们都不陌生,constructor始终指向创建当前对象的构造函数. 这里有一点需要注意的是,每个函数都有一个prototype属性,这个prototype的constructor指向这个函数,这个时候我们修改这个函数的prototype时,就发生了意外.如 function Person(name,age){ this.name = name; this.age = age; } Person.prototype.getAge = function

  • 浅谈javascript中new操作符的原理

    javascript中的new是一个语法糖,对于学过c++,java 和c#等面向对象语言的人来说,以为js里面是有类和对象的区别的,实现上js并没有类,一切皆对象,比java还来的彻底 new的过程实际上是创建一个新对象,把新象的原型设置为构造器函数的原型,在使用new的过程中,一共有3个对象参与了协作,构造器函数是第一个对象,原型对象是二个,新生成了一个空对象是第三个对象,最终返回的是一个空对象,但这个空对象不是真空的,而是已经含有原型的引用(__proto__) 步骤如下: (1) 创建一

  • 浅谈Javascript中的函数、this以及原型

    关于函数 在Javascript中函数实际上就是一个对象,具有引用类型的特征,所以你可以将函数直接传递给变量,这个变量将表示指向函数"对象"的指针,例如: function test(message){ alert(message); } var f = test; f('hello world'); 你也可以直接将函数申明赋值给变量: var f = function(message){ alert(message); }; f('hello world'); 在这种情况下,函数申明

  • 浅谈JavaScript中小数和大整数的精度丢失

    先来看两个问题: 0.1 + 0.2 == 0.3; // false 9999999999999999 == 10000000000000000; // true 第一个问题是小数的精度问题,在业界不少博客里已有讨论.第二个问题,去年公司有个系统的数据库在做数据订正时,发现有部分数据重复的诡异现象.本文将从规范出发,对上面的问题做个小结. 最大整数 JavaScript 中的数字是用 IEEE 754 双精度 64 位浮点数 来存储的,其格式为: s x m x 2^e s 是符号位,表示正负

随机推荐