js-08-数组学习
一、数组语法格式
var name=[item1,item2,......]
二、数组的声明创建
var arr=new Aarray( ) //声明一个空数组对象
var arr=new Array(length) //声明一个指定长度的数组
var arr=[元素] //声明数组(最常用方法)
注:js中的数组声明不用指定长度,js的数组长度不固定,会随着元素的数量改变而改变。
a:判断是否是数组类型(typeOf arr值为object)
console.log(Array.isArray(xxxx))→ 返回值为true或者false
三、通过for循环遍历数组
for(var i=0;i<arr.length;i++)
alert(arr[i]);
} for-in:
for (var p in fruits){ //遍历数组和对象
document.write(p+'<br>') //p遍历下标,
document.write(fruits[p]+"<br>");
}
四、forEach()方法调用于数组的每个元素,并将元素传递给回调函数。对于空数组是不会执行回调函数的。
//回调函数(callback)是以一个以形参形式传递给另一个函数的函数,并且该函数必须等另一个函数执行完才会被调用
var text = "";
fruits.forEach(myFunction);
document.write(text) ;
function myFunction(value) {
text += value + "<br>";
}
console.log(typeof fruits.forEach);
五、isArray识别数组
var fruits = ["Banana", "Orange", "Apple", "Mango"];
alert(Array.isArray(fruits)); //语法:Array.isArray(obj)
六、toString(将逻辑值转换为字符串,并返回结果)
var fruits = ["Banana", "Orange", "Apple", "Mango"];
document.write(fruits.toString("")+'<br>');
console.log(typeof(fruits)); //类型对象
console.log(typeof(fruits.toString()));//toString转换成字符串
join() 方法也可将所有数组元素结合为一个字符串。
document.write(fruits.join("*")) ;
七、Popping 和 Pushing、shift、unshift、delete、splice、concat、slice
a:pop()方法从数组中删除最后一个元素。
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.pop()
document.write(fruits+'<br>');
//返回被删除的值:Banana,
document.write(fruits.pop()+'<br>');
b:push()方法(在数组结尾处)向数组添加一个新的元素
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.push("Kiwi")
document.write(fruits) ;
//返回push() 方法返回新数组的长度:
document.write(fruits.push("Kiwi")+'<br>') ; //5
c:shift()会删除首个数组元素,并把所有其他元素“位移”到更低的索引。
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.shift();
document.write(fruits+'<br>') ;
console.log(fruits[0]); //Orange
document.write(fruits.shift()+'<br>') ;
d:unshift() 方法(在开头)向数组添加新元素,并“反向位移”旧元素.
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.unshift("lemon")
document.write(fruits+'<br>');
console.log(fruits[0]); //lemon
document.write(fruits.unshift("lemon")) ;//5 unshift() 方法返回新数组的长度
e:delete 运算符来删除,删除元素会在在数组留下未定义的空洞。
var fruits = ["Banana", "Orange", "Apple", "Mango"];
delete fruits[0];
document.write(fruits+'<br>')
console.log("第一种水果是:" + fruits[0]);
f:splice() 方法可以进行添加,删除,替换.
var fruits = ["Banana", "Orange", "Apple", "Mango"];
//第一个参数:定义了应添加新元素的位置(拼接)。
//第二个参数:定义应删除多少元素。
//第三个参数:插入元素
//splice() 方法返回一个包含已删除项的数组
//可以通过splice()替换数组元素
var removed = fruits.splice(1,2, "Lemon", "Kiwi");
document.write("新数组:<br>" + fruits+"<br>");
document.write ( "已删除项:<br> " + removed +"<br>");
//可以通过splice()删除数组元素
var removed = fruits.splice(1,2);
document.write("新数组:<br>" + fruits+"<br>");
//可以通过splice()添加数组元素
var removed = fruits.splice(0,0,"Lemon", "Kiwi");
document.write("新数组:<br>" + fruits+"<br>");
g:concat合并(链接)数组.
var first= [1, 2];
var second= [3, 4, 5];
document.write("第一个数组:"+first+"<br>");
document.write("第二个数组:"+second+"<br>");
var sum= first.concat(second);
document.write( "合并结果:" + sum+"<br>");
var three= [6, 7, 8];
document.write("第三个数组:"+three+"<br>");
var arr4 = first.concat( second,three);
document.write("合并多个数组:" +arr4+"<br>") ;
h:slice() 方法用数组的某个片段切出新数组。/slice() 方法创建新数组。它不会从源数组中删除任何元素。
var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
document.write(fruits + '<br>');
var citrus = fruits.slice(1);//一个参数,从"orange"开始到结尾切出
var citrus = fruits.slice(3);//从"Apple"开始到结尾切出
document.write( citrus + "<br>" );
console.log(citrus[0]);//返回Orange
//slice() 从开始位置到结束位置切出,不包括结束位置。
var citrus = fruits.slice(1,3);
document.write("可接受两个参数" + citrus);//Orange,Lemon
js-08-数组学习的更多相关文章
- js 的概念和声明-js 的变量-js 的运算符和逻辑结构-js 的数组
js 的概念和声明Js的概念和声明:问题:在网页的发展历程中,发现网页不能对用户的数据进行自动校验,和提供一些特效造成用户体验极差解决:使用JavaScript作用:可以让网页和用户之间进行直接简单的 ...
- js数组学习整理
原文地址:js数组学习整理 常用的js数组操作方法及原理 1.声明数组的方式 var colors = new Array();//空的数组 var colors = new Array(3); // ...
- JS数组学习笔记
原文:JS数组学习笔记 最近在备课数组,发现很多ES5的方法平时很少用到.细节比较多,自己做了大量例子和整理,希望对大家了解JavaScript中的Array有所帮助. 概念 数组是值的有序集合.每个 ...
- Knockout.Js官网学习(系列)
1.Knockout.Js官网学习(简介) 2.Knockout.Js官网学习(监控属性Observables) Knockout.Js官网学习(数组observable) 3.Knockout.Js ...
- json2.js的初步学习与了解
json2.js的初步学习与了解,想要学习json的朋友可以参考下. json2.js的初步学习与了解 1.)该js的下载地址是:http://www.json.org/json2.js 2.)在页面 ...
- 原生JS研究:学习jquery源码,收集整理常用JS函数
原生JS研究:学习jquery源码,收集整理常用JS函数: 1. JS获取原生class(getElementsByClass) 转自:http://blog.csdn.net/kongjiea/ar ...
- Underscore.js 源码学习笔记(下)
上接 Underscore.js 源码学习笔记(上) === 756 行开始 函数部分. var executeBound = function(sourceFunc, boundFunc, cont ...
- Underscore.js 源码学习笔记(上)
版本 Underscore.js 1.9.1 一共 1693 行.注释我就删了,太长了… 整体是一个 (function() {...}()); 这样的东西,我们应该知道这是一个 IIFE(立即执行 ...
- js内存深入学习(二)
继上一篇文章 js内存深入学习(一) 3. 内存泄漏 对于持续运行的服务进程(daemon),必须及时释放不再用到的内存.否则,内存占用越来越高,轻则影响系统性能,重则导致进程崩溃. 对于不再用到的内 ...
- js内存深入学习(一)
一. 内存空间储存 某些情况下,调用堆栈中函数调用的数量超出了调用堆栈的实际大小,浏览器会抛出一个错误终止运行.这个就涉及到内存问题了. 1. 数据结构类型 栈: 后进先出(LIFO)的数据结构 堆 ...
随机推荐
- 转:关于java.lang.ClassNotFoundException: org.springframework.boot.SpringApplication的解决
在这个控制板中,出现了这个问题 java.lang.ClassNotFoundException: org.springframework.boot.SpringApplication 虽然明显知道是 ...
- MVC方法的返回值类型
MVC方法返回值类型 ModelAndView返回值类型: 1.当返回为null时,页面不跳转. 2.当返回值没有指定视图名时,默认使用请求名作为视图名进行跳转. 3.当返回值指定了视图名,程序会按照 ...
- openlayers4 入门开发系列结合 echarts4 实现散点图(附源码下载)
前言 openlayers4 官网的 api 文档介绍地址 openlayers4 api,里面详细的介绍 openlayers4 各个类的介绍,还有就是在线例子:openlayers4 官网在线例子 ...
- HDU5394 Bomb
题目:http://acm.hdu.edu.cn/showproblem.php?pid=5934 There are NN bombs needing exploding. Each bomb ha ...
- socket AcceptAsync方法的使用
AcceptAsync与Accept很大的不一样 Accept是一个同步 阻塞的已经封装好底层的方法 AcceptAsync是一个异步 非阻塞未封装的底层连接入口,需要手动填入连接代码用于优化sock ...
- 攻略前端面试官(三):JS的原型和原型链
本文在个人主页同步更新~ 背就完事了 介绍:一些知识点相关的面试题和答案 使用姿势:看答案前先尝试回答,看完后把答案收起来检验成果~ 面试官:什么是构造函数 答:构造函数的本质是一个普通函数,他的特点 ...
- 《一头扎进》系列之Python+Selenium框架设计篇1-什么是自动化测试框架-价值好几K的框架,不看别后悔,过时不候
1. 什么是自动化测试框架 在了解什么是自动化测试框架之前,先了解一下什么叫框架?框架是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法:另一种定义认为,框架是可被应用开发者定制的 ...
- JavaEE基础(05):过滤器、监听器、拦截器,应用详解
本文源码:GitHub·点这里 || GitEE·点这里 一.Listener监听器 1.概念简介 JavaWeb三大组件:Servlet,Listener,Filter.监听器就是指在应用程序中监听 ...
- 【CentOS7】设置静态IP地址
[CentOS7]设置静态IP地址 转载:https://www.cnblogs.com/yangchongxing/p/10645871.html 图像化修改 nmtui 查看当前网卡名称 # if ...
- 5分钟搞清楚Synchronized和Lock的概念与区别
前言 并发编程中,锁是经常需要用到的,今天我们一起来看下Java中的锁机制:synchronized和lock. Synchronized 和 Lock的概念 Synchronized 是Java 并 ...