js数组元素的添加和删除一直比较迷惑,今天终于找到详细说明的资料了,先给个我测试的代码^-^
var arr = new Array();
arr[0] = "aaa";
arr[1] = "bbb";
arr[2] = "ccc";
//alert(arr.length);//3
arr.pop();
//alert(arr.length);//2
//alert(arr[arr.length-1]);//bbb
arr.pop();
//alert(arr[arr.length-1]);//aaa
//alert(arr.length);//1
var arr2 = new Array();
//alert(arr2.length);//0
arr2[0] = "aaa";
arr2[1] = "bbb";
//alert(arr2.length);//2
arr2.pop();
//alert(arr2.length);//1
arr2 = arr2.slice(0,arr2.length-1);
//alert(arr2.length);//0
arr2[0] = "aaa";
arr2[1] = "bbb";
arr2[2] = "ccc";
arr2 = arr2.slice(0,1);
alert(arr2.length);//1
alert(arr2[0]);//aaa
alert(arr2[1]);//undefined
shift:删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefined
var a = [1,2,3,4,5];
var b = a.shift(); //a:[2,3,4,5] b:1
unshift:将参数添加到原数组开头,并返回数组的长度
var a = [1,2,3,4,5];
var b = a.unshift(-2,-1); //a:[-2,-1,1,2,3,4,5] b:7
注:在IE6.0下测试返回值总为undefined,FF2.0下测试返回值为7,所以这个方法的返回值不可靠,需要用返回值时可用splice代替本方法来使用。
pop:删除原数组最后一项,并返回删除元素的值;如果数组为空则返回undefined
var a = [1,2,3,4,5];
var b = a.pop(); //a:[1,2,3,4] b:5//不用返回的话直接调用就可以了
push:将参数添加到原数组末尾,并返回数组的长度
var a = [1,2,3,4,5];
var b = a.push(6,7); //a:[1,2,3,4,5,6,7] b:7
concat:返回一个新数组,是将参数添加到原数组中构成的
var a = [1,2,3,4,5];
var b = a.concat(6,7); //a:[1,2,3,4,5] b:[1,2,3,4,5,6,7]
splice(start,deleteCount,val1,val2,...):从start位置开始删除deleteCount项,并从该位置起插入val1,val2,...
在清空数组时,只需传递startIndex。
如果不删除所有元素,再传递deleteCount参数。
splice还具有先删除后添加的功能,即先删除几个元素,然后在删除的位置再添加若干元素,删除与添加的元素的个数没有必须相等,这时侯deleteCount也是要用到的。
var a = [1,2,3,4,5];
var b = a.splice(2,2,7,8,9); //a:[1,2,7,8,9,5] b:[3,4]
var b = a.splice(0,1); //同shift
a.splice(0,0,-2,-1); var b = a.length;//同unshift
var b = a.splice(a.length-1,1);//同pop
a.splice(a.length,0,6,7); var b = a.length; //同push
reverse:将数组反序
var a = [1,2,3,4,5];
var b = a.reverse(); //a:[5,4,3,2,1] b:[5,4,3,2,1]
sort(orderfunction):按指定的参数对数组进行排序
var a = [1,2,3,4,5];
var b = a.sort(); //a:[1,2,3,4,5] b:[1,2,3,4,5]
slice(start,end):返回从原数组中指定开始下标到结束下标之间的项组成的新数组
var a = [1,2,3,4,5];
var b = a.slice(2,5); //a:[1,2,3,4,5] b:[3,4,5]
join(separator):将数组的元素组起一个字符串,以separator为分隔符,省略的话则用默认用逗号为分隔符
var a = [1,2,3,4,5];
var b = a.join("|"); //a:[1,2,3,4,5] b:"1|2|3|4|5"
再给个利用数组模拟javaStringBuffer处理字符串的方法:
/**
* 字符串处理函数
*/
function StringBuffer() {
var arr = new Array;
this.append = function(str) {
arr[arr.length] = str;
};
this.toString = function() {
return arr.join("");//把append进来的数组ping成一个字符串
};
}
今天在应用中突然发现join是一种把数组转换成字符串的好方法,故封装成对象使用了:
/**
*把数组转换成特定符号分割的字符串
*/
function arrayToString(arr,separator) {
if(!separator) separator = "";//separator为null则默认为空
return arr.join(separator);
}
/**
* 查找数组包含的字符串
*/
function arrayFindString(arr,string) {
var str = arr.join("");
return str.indexOf(string);
}
相关推荐
Javascript 数组 Array 基础介绍 在 JavaScript 中,数组是一种特殊的对象,它们拥有独特的特性。在介绍数组之前,我们需要了解什么是数组。数组是一种类数组的对象,它们拥有对象的特性。当属性名是小而连续的整数...
JavaScript中的数组Array是编程中非常基础且重要的数据结构,它用于存储一组有序的元素,可以是任意类型。本文主要探讨JavaScript数组的两个关键属性:`length`和`prototype`。 首先,`length`属性是每个JavaScript...
JavaScript数组可以包含任意类型的值,包括数字、字符串、对象等。此外,JavaScript提供了一系列内置方法来操作数组,如push()用于在数组末尾添加元素,pop()用于移除末尾元素,slice()用于提取数组的一部分,concat...
"JavaScript数组用法详解" JavaScript 数组是一种非常重要的数据结构,它是一种可以存储多个元素的集合。 JavaScript 数组的元素可以是任何类型,包括数字、字符串、对象、函数等。数组的长度可以动态地变化,可以...
数组的使用非常广泛,以下是对 JavaScript 数组的详细说明。 一、创建数组 JavaScript 中可以使用多种方式创建数组,例如: * 使用 new Array() 构造函数创建数组:var a = new Array("cctv","sxtv","tytv"); * ...
首先,需要了解的是,JavaScript数组的所有方法都定义在Array.prototype上,这意味着所有数组的实例都可以使用这些方法。Array.prototype本身也是一个数组,它包含了数组的原型方法。 1. concat方法 concat方法用于...
Unity3D 中还有两种类型的数组,一种是内置的.NET数组,另一种是JavaScript数组。内置数组(原始的“NET”数组)性能更高,但不能动态调整大小,它们是静态类型的,这意味着它们可以在Unity编辑器的检视面板中直接...
以下是对JavaScript数组方法的详细总结: **一、创建数组** 1. 使用构造函数创建数组: ```javascript var colors = new Array(); // 创建空数组 var colors = new Array(3); // 创建长度为3的数组,但不包含...
在JavaScript中,数组对象Array是用于存储一组...在学习和使用JavaScript数组时,理解这些基本概念和方法至关重要。通过实践和案例分析,我们可以更好地掌握数组对象Array的运用,从而在实际编程中更有效地处理数据。
在 Javascript 中,可以使用三种方式创建数组: 1. 单纯创建数组:`var arr = new Array();` 2. 创建数组的同时规定数组大小:`var arr = new Array(10);` 3. 直接初始化数组:`var arr = new Array("love", "hate...
本文将详细介绍一个用于将 PHP 数组转换为 JavaScript 数组的函数,并通过示例来展示其使用方法。 #### 函数定义 首先,我们来看一下这个函数的基本结构: ```php function phparr_to_jsarr($phparr, $jsarrname ...
本文只是对JavaScript数组Array的基础介绍,后续的内容会更深入地探讨数组的各种方法和高级特性,帮助开发者更好地理解和运用这一强大的工具。在JavaScript的世界里,不断学习和探索,你会发现更多的魅力。
常见的JS数组的使用方法 数组对象用来在单独的变量名中存储一系列的值。 我们使用关键词 new 来创建数组对象。下面的代码定义了一个名为 myArray 的数组对象: var myArray=new Array() 有两种向数组赋值的方法...
在JavaScript中,数组是一种常用的数据结构,用于存储和操作一系列有序的数据。ArrayUtil是一个实用的JavaScript...此外,分析源码还可以帮助我们理解面向对象编程、函数式编程以及JavaScript数组操作的内部工作原理。
在JavaScript中,数组的深拷贝是一个常见的需求,它涉及到数据结构的复制,尤其是在处理复杂对象和嵌套数据时。深拷贝与浅拷贝不同,浅拷贝只是复制引用,而深拷贝会创建一个新的对象,包含原始数组的所有元素,并...
例如,你可以通过`Array.prototype`自定义一个方法,使得所有的数组实例都能使用这个新方法。以下是一个示例,定义了一个名为`outAll`的方法,用于显示数组的所有元素: ```javascript Array.prototype.outAll = ...
JavaScript数组提供了丰富的内置方法,如push、pop、shift、unshift、slice、splice、concat、indexOf、join等,这些方法极大地提高了我们处理数组的效率。在`array.js`文件中,可能会包含对这些方法的自定义实现...
本资料"Javascript数组操作整理"聚焦于JavaScript中的数组操作,旨在帮助开发者更好地理解和掌握相关知识。 1. 创建数组: JavaScript提供了多种创建数组的方式,如字面量语法`var arr = [元素1, 元素2, ...]`,或...
推荐使用`for`循环或`Array.prototype.forEach()`方法来遍历数组的索引和元素。 例如,要获取数组的所有元素,可以直接使用`map()`方法: ```javascript function getArrayValues(array) { return array.map...
根据元素的分布情况,JavaScript数组可以分为两种类型:稀疏数组和密集数组。理解这两种类型的差异对于优化内存使用和提高程序性能至关重要。 #### 二、稀疏数组与密集数组的概念 **稀疏数组(Sparse Array)**: - ...