Js中数组Array的用法

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);//1var 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);
}

 

转载于:https://www.cnblogs.com/wicub/p/3443794.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/408273.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【论文精读】Deep Rectangling for Image Stitching: A Learning Baseline

代码:https://github.com/nie-lang/DeepRectangling 链接:https://arxiv.org/abs/2203.03831 概览 目前图像拼接的一个问题是拼接后会产生不规则的边界,如下图1 b所示。目前解决这类问题主要是通过图像矩形化方法,并且通常是分…

how to get the space size of some tables in one database?

如何获取SQL Server数据库里表的占用容量大小?其实只要使用系统内置的存储过程sp_spaceused就可以得到表的相关信息如:sp_spaceused tablename step 1:先写一个存储过程,把当前的所有表的相关信息全部都保存在一个指定的表里面CREATE PROCED…

어느 도시 보유 하 면 사랑 이다(事態が発生すれば、ある都市の恋はしません)【Si les villes un amour】{If have love in a city}...

如果在北京拥有爱情 半夜在簋街喝啤酒 吃小龙虾 在后海的苦情歌声里 搂着你数那四合院的瓦片 如果在上海拥有爱情 去外滩手挽手 吹吹风 坐一下午 去城隍庙尝试各种小吃 嘲笑你嘴角残余的糯米糕 如果在杭州遇见爱情 去断桥载着你骑单车 让你骑在脖子上 站在人群里也能看到西湖里…

[论文笔记]Depth-Aware Multi-Grid Deep Homography Estimation with Contextual Correlation

论文地址:https://arxiv.org/abs/2107.02524 代码:https://github.com/nie-lang/Multi-Grid-Deep-Homography 1. 概览 单应性估计是计算机视觉应用中的一项重要任务,例如图像拼接、视频稳定和相机校准。传统的单应性估计方法严重依赖特征对…

右键单击文件夹进入命令行窗口

可以手动添加注册表信息如下:Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell\cmd] [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell\cmd\command]"cmd /k cd %1"如果嫌麻烦就下载:http:/…

基础【循环】-----(枚举器)------(转)

Iterator:枚举器 如果你正在创建一个表现和行为都类似于集合的类,允许类的用户使用foreach语句对集合中的成员进行枚举将会是很方便的。这在C# 2.0中比 C# 1.1更容易实现一些。作为演示,我们先在 C# 1.1中为一个简单的集合添加枚举&#xff0…

【论文笔记】Leveraging Line-point Consistence to Preserve Structures for Wide Parallax Image Stitching

论文链接:https://openaccess.thecvf.com/content/CVPR2021/papers/Jia_Leveraging_Line-Point_Consistence_To_Preserve_Structures_for_Wide_Parallax_Image_CVPR_2021_paper.pdf 代码链接:https://github.com/dut-media-lab/Image-Stitching 摘要 …

JTable 一个最好的例子

装载自:http://www.oschina.net/code/snippet_54100_1230 import java.awt.BorderLayout; import java.awt.Color; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Vector;import javax.swing.DefaultCellEditor; imp…

你的QQ为谁隐身?

习惯性的打开了qq, 习惯性的点击了隐身选项, 习惯性的戴上了耳机, 习惯性的看看那些闪动的头像;        默默的,默默的,只是等待; 一个月,两个月,三个月…     …

一些感动的日子

http://spaces.msn.com/members/coolbug/Blog/cns!1paSXV471KCYBnh-ynIQiUkg!543.entry

bravo

大白: p70 放置街灯 一开始看大白上的思路硬是 没看懂 后来看代码时有几个疑点 再结合 前面的分析 豁然开朗了 beautiful mind 实在是太聪明了!!(鸡冻中。。。。) 这里的一个技巧是 要是有两个 要优化的量 v1和v2 要求…

整理javascript操作文件说明.

Javascript是网页制作中离不开的脚本语言,依靠它,一个网页的内容才生动活泼、富有朝气。但也许你还没有发现并应用它的一些更高级的功能吧?比如,对文件和文件夹进行读、写和删除,就象在VB、VC等高级语言中经常做的工作…

堆排序算法的实现 (冒泡排序)

方法一&#xff1a; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace ConsoleApplication3 {class Program{static void Main(string[] args){List<int> seqlist new List<int> …

角色转变

11月4日花了整整一天的时间和航发锦绣家园签订了不平等“条约”时&#xff0c;开始我的角色开始准备转化为负债者&#xff0c;在之后的10年间将每月偿还给工商银行&#xffe5;849。买房&#xff0c;你说还能是什么呢&#xff1f;这个我这个年龄段的头等大事。婚姻&#xff1f;…