1.数组的操作方法

 <html>
<meta http-equiv="content-type" charset="utf-8" />
<title>操作数组的方法,记得跟python类比</title> <script type="text/javascript">
var shuzu=new Array("eric","alis","django","tornado");
//数组的合并方法,concat()
console.log("数组的合并方法");
//三种不同的数组转换成字符串的方式
console.log(shuzu.concat("liuhuan",[2,3,"jim"]).toString());
console.log(shuzu.concat("liuhuan",[2,3,"jim"]).toLocaleString());
console.log(shuzu.concat("liuhuan",[2,3,"jim"].valueOf()));
//数组的切片方法,跟python一样顾前不顾后
console.log("=======================");
console.log(shuzu.slice(2,3));
//数组的最强大的方法splice方法,主要用途是向数组的中部插入项;有返回值,是一个数组(删除的项组成)*****
//1.删除
console.log("splice,js数组中的超级方法,基友删除和添加,替换的功能");
var spliceDemo=["eric","宋佳",2,3,3,4];
var delArray=spliceDemo.splice(0,2);
console.log(delArray.toString());
console.log(spliceDemo);
console.log("替换");
var delArray2=spliceDemo.splice(0,0,"lizbeo","liuhuan");
console.log(delArray2);
console.log(spliceDemo);
console.log("插入,并删除");
var delArray3=spliceDemo.splice(0,2,"lizbeo222",2222);
console.log(delArray3);
console.log(spliceDemo);
</script>
<body>
<h1>操作数组的方法</h1>
</body>
</html>

2.迭代方法

 <html>
<head>
<meta http-equiv="content-type" charset="utf-8">
<title>迭代方法</title>
<script type="text/javascript">
//ECMAScript为数组定义了5个迭代方法。每个方法都接收2个参数:要在每一项运行的函数(可选)和运行该函数的作用域对象
//影响this的值。传入这些方法中的函数会接收三个参数:数组项的值,该项在数组中的位置和数组对象本身。根据使用方法的不同,这个函数
//执行后的返回值可能会也可能不会影响方法的返回值。
/*evary()*/
var shuzu=[1,2,3,4,5,4,3,2,1]; var evaryResult=shuzu.every(function(item,index,array){
return item>2;
});//结果是flase,因为every顾名思义就是数组中的每个值都要大于2才能得到true结果。
console.log(evaryResult);
/*some()*/
var someResult=shuzu.some(function(sb,index,array){
return sb>2;
});
console.log(someResult);
/*filter()监听,监听符合条件的数组并返回数组*/
var filterResult=shuzu.filter(function(item,sf,jfsklfs){
return item>2;
});
console.log(filterResult);
/*map();对每一项进行操作,返回每一项操作后的数组*/
var mapResult=shuzu.map(function(mapDemo,sb,sjflasjfaslkjflas){
return mapDemo**2;
});
console.log(mapResult);
//forEach();方法,相当于for迭代遍历数组
console.log("=====================");
for(var i;i<=shuzu.length;i++){
window.alert(shuzu[i]);
}; </script>
</head>
<body>
<h1>迭代方法</h1>
<h2>其中map是真的有用这种方法,js数组的map方法可以对每一项进行相同的操作,这是多么叼,最关键的是代码很少。</h2>
</body>
</html>

3.归并方法(从前往后迭代和从后往前迭代)

 <!DOCTYPE>
<html>
<head>
<meta http-equiv="content-type" charset="utf-8">
<title>归并方法</title>
<script type="text/javascript">
var shuzu=new Array();
shuzu=[1,2,3,4,5,6];
//求数组中的每一项的和使用reduce();
var sum=shuzu.reduce(function(pre,cur,index,arry3){
return pre+cur;
});
console.log(sum);
//使用reduceRight()求数组中的所有项的积;
var su1=shuzu.reduceRight(function(pre,cur,index,arry33){
return pre*cur;
});
console.log(su1); var su3=shuzu.reduce(function(pre,cur,index,sjfsl){
return pre*cur;
});
console.log(su3);
</script>
</head>
<body>
<h1>归并方法</h1>
<h2>这两个方法都接收两个参数:一个在每一项上调用的函数和(可选的)作为归并基础的初始值。传给reduce()和reduceRight()的函数接收4个参数</h2>
<h2>前一个值,当前值,项的索引和数组对象。这个函数返回的任何值都会作为第一个参数传给下一项。第一次迭代发生在数组的第二项
,因此第一个参数是数组的第一项,第二个参数是数组的第二项。</h2> </body>
</html>

4.检测数组

 <!DOCTYPE>
<html>
<head>
<meta http-equiv="content-type" charset="utf-8" />
<script type="text/javascript">
/*Javascript中的数组是1.可以存储任意类型 2.动态调整。*/
//创建方式一:使用array的构造函数:
var arrryDemo1=new Array();
var arrayDemo2=new Array(3);//创建一个包含3项的数组
var arrayDemo3=new Array("alex");//创建一个包含一项的数组
console.log(arrayDemo2.length);
console.log(arrayDemo3[0]);
//创建方式二:使用字面量进行创造
var color=["red","blue",234,2.34];
console.log(color.length);
console.log(color[3]);
console.log("length属性不只是可读,还可以进行赋值");
color.length=5;
console.log(color[4]);//undefinend
console.log("移除最后一项");
color.length=3;
console.log(color[3]);//undefinend //检测数组
var checkArray=new Array("李泽博","liuhuan",23424);
if(checkArray instanceof Array){
console.log("这是数组类型,数组类型是一个内置引用对象,所以我们使用检测方式的时候,使用的是instanceof");
} </script>
<style type="text/css"> </style>
</head>
<body>
<h1>你好,Javascript</h1>
</body>
</html>

5.位置方法

 <html>
<head>
<meta http-equiv="content-type" charset="utf-8" >
<title>位置方法</title> <script type="text/javascript">
console.log("位置方法");
var indexDemo=new Array();
indexDemo.push("eric","宋佳","李逵");
console.log(indexDemo.indexOf("eric"));
//要查找的项是“李逵”,查找的位置索引是1.
console.log(indexDemo.lastIndexOf("李逵",2));
</script>
</head>
<body>
<h1>位置方法</h1>
<h3>这2个方法都接收2个参数,一个是要查找的项和(可选的)表示查找起点位置的索引。其中
indexOf()方法从数组的开始进行查找,而lastIndexOf()是从结尾开始查找。如果没有,返回-1
</h3>
</body>
</html>

6.重排序

 <html>
<head>
<meta http-equiv="content-type" charset="utf-8" />
<title>重新排序</title> <script type="text/javascript">
var arrayDemo=[1,2,3,4,5];
//reverse()
console.log(arrayDemo.reverse());
//sort();
console.log(arrayDemo.sort());//但是sort是以第一个字母进行的排序
</script>
</head>
<body>
<h1>reverse,sort</h1>
</body>
</html>

7.转换方法

 <!DOCTYPE>
<html>
<head>
<title>转换方法,也就是数组转换成,字符串,因为alert,console可以自动转换成字符串</title>
<meta http-equiv="content-type" charset="utf-8">
<script type="text/javascript">
/*转换方法:*/
var shuzu=["eric","hahah ","刘欢"];
console.log(shuzu.toString());
console.log(shuzu.toLocaleString());
console.log(shuzu.valueOf());//返回的是对象
alert(shuzu.valueOf());//返回字符串 //join方法
shuzu.join("||");
console.log(shuzu);
alert(shuzu);
</script>
</head>
<body>
</body>
</html

8.FIFO

 <html>
<head>
<title>先进先出</title>
<meta http-equiv="content-type" charset="utf-8" / > <script type="text/javascript">
console.log("先进先出");
var color=new Array();
var count=color.push("eric","bob","刘欢");
console.log("pushi之后数组的长度是:");
console.log(count);
console.log("取出来第一个值");
console.log(color.shift());
var count1=color.unshift("pop","shift","unshift");
console.log("使用unshift进行队列压值");
console.log(color.shift());//pop
console.log(color.pop());//刘欢 </script>
</head>
<body>
<h1>先进先出</h1>
<h2>后压前取,前压后取</h2>
</body>
<script type="text/javascript">
/*后压前取*/
var shuzu=new Array();
var count=shuzu.push("刘备","张飞","关羽");
console.log("===============");
console.log(shuzu.shift());
console.log(shuzu.pop());
/*前压后取*/
var shuzu2=new Array();
var count2=shuzu2.unshift("诸葛亮","宋江","鲁智深");
console.log("====================");
console.log(count2);
console.log(shuzu2.pop());
</script>
</html>

9.LIFO

 <html>
<head>
<title>后进先出</title>
<meta http-equiv="content-type" charset="utf-8" />
<script type="text/javascript">
var color=new Array();
//压进入,后进先出。注意这个函数是有返回值的,返回的是新数组的长度。
var count=color.push("red","yellow","black");
console.log("函数的返回值是:");
console.log(count);
alert(color.length);
alert(color.pop());
</script>
</head>
<body>
<h1>后进先出</h1>
</body>
</html>

js-引用类型-Array的更多相关文章

  1. 从一个简单例子来理解js引用类型指针的工作方式

    <script> var a = {n:1}; var b = a; a.x = a = {n:2}; console.log(a.x);// --> undefined conso ...

  2. JavaScript基础18——js的Array对象

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  3. JS对Array进行自定制排序

    JS对Array进行自定制排序,简单的做一个记录,代码如下所示: //Test function function myFunction(){ var myArr = new Array(); var ...

  4. 多动手试试,其实List类型的变量在页面上取到的值可以直接赋值给一个js的Array数组变量

    多动手试试,其实List类型的变量在页面上取到的值可以直接赋值给一个js的Array数组变量,并且数组变量可以直接取到每一个元素var array1 = '<%=yearList =>'; ...

  5. JS中Array数组的三大属性用法

    原文:JS中Array数组的三大属性用法 Array数组主要有3大属性,它们分别是length属性.prototype属性和constructor属性. JS操作Array数组的方法及属性 本文总结了 ...

  6. JS数组array常用方法

    JS数组array常用方法 1.检测数组 1)检测对象是否为数组,使用instanceof 操作符 if(value instanceof Array) { //对数组执行某些操作 } 2)获取对象的 ...

  7. js 在array的遍历操作中修改arry中元素数量 出现的一些奇特的操作

    在js中array是属于复杂类型,在arr1=arr2得赋值操作中,arr1得到的值并不是arr2的value,而是一个指向引用.那么修改arr1的同时arr2读取的值也会同步变化,那么问题来了,上代 ...

  8. 斗篷指令、属性指令、表单指令、条件指令、循环指令、js的Array操作、前台数据库、

    ```python"""1)指令 属性指令:v-bind 表达指令:v-model 条件指令:v-show v-if 循环指令:v-for 斗篷指令:v-cloak 2) ...

  9. js create Array ways All In One

    js create Array ways All In One ES6 const arr = [...document.querySelectorAll(`[data-dom="^div& ...

  10. js swap array

    js swap array ES6 swap array 就地交换 no need let , const [ b, a, ] = [ a, b, ]; // ES6 swap const arr = ...

随机推荐

  1. 走进 UITest for Xamarin.Forms

    上一篇  走进 Prism for Xamarin.Forms 讲了简单的创建一个项目,然后添加了几个页面来回切换,这篇想先搞下 UITest 官方详细地址:https://developer.xam ...

  2. 【JAVA零基础入门系列】Day11 Java中的类和对象

    今天要说的是Java中两个非常重要的概念--类和对象. 什么是类,什么又是对象呢?类是对特定集合的概括描述,比如,人,这个类,外观特征上,有名字,有年龄,能说话,能吃饭等等,这是我们作为人类的相同特征 ...

  3. Android中的intent属性

    android之Intent的七大属性 2015年04月03日 ⁄ Android ⁄ 共 14866字 ⁄ 字号 小 中 大 ⁄ 1条评论 Intent用于封装程序的“调用意图”.两个Activit ...

  4. scp命令,用来在本地和远程相互传递文件,非常方便

    scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的.可能会稍微影响一下速度.当你服务器 ...

  5. 《Spark Python API 官方文档中文版》 之 pyspark.sql (二)

    摘要:在Spark开发中,由于需要用Python实现,发现API与Scala的略有不同,而Python API的中文资料相对很少.每次去查英文版API的说明相对比较慢,还是中文版比较容易get到所需, ...

  6. HTML5网页音乐播放器

    1功能介绍 HTML5中推出了音视频标签,可以让我们不借助其他插件就可以直接播放音视频.下面我们就利用H5的audio标签及其相关属性和方法来制作一个简单的音乐播放器.主要包括以下几个功能: 1.播放 ...

  7. 14.javaweb AJAX技术详解

    一.简介 1,  ajax:在不重新加载网页的前提下,与服务器交换数据并更新部分网页的技巧,但其本身并不是一种新技术 2,  核心:XMLHttpRequest对象.AJAX技术主要是通过此对象完成的 ...

  8. JS模块化开发----require.js

    前言 前端开发中,起初只要在script标签中嵌入几十上百行代码就能实现一些基本的交互效果,后来js得到重视,应用也广泛起来了,jQuery,Ajax,Node.Js,MVC,MVVM等的助力也使得前 ...

  9. 对于ES6中Promise的个人见解

    1.js中常见的异步 JavaScript可以响应用户的一些异步交互,比如单击鼠标和按键盘等操作. let button = document.getElementById("btn&quo ...

  10. GPIO复位功能说明

    根据STM32L0x3参考手册RM0367,每个General-Purpose IO口,有以下寄存器: 1.4个32位的控制寄存器,分别为GPIOx_MODER,GPIOx_OTYPER,GPIOx_ ...