js Array属性和用法
var arr1=new Array();
var arr2=[];
1、Array.isArray(对象)---->判断这个对象是不是数组
//判断对象是不是数组类型:两种
var arr1=new Array();
//1 instanceof
var obj=[];
console.log(obj instanceof Array);//true //2 使用数组的isArray
console.log(Array.isArray(obj));//true
2、Array.concat(数组,数组,数组,...) 组合一个新的数组
var arr1=[10,20,30];
var arr2=[40,50,60];
console.log(arr1.concat(arr2));//[10, 20, 30, 40, 50, 60]
3 、Array.every(函数)--是对数组中每一项运行给定函数,如果该函数对每一项返回true,则返回true。every从迭代开始,一旦有一个不符合条件,则不会继续迭代下去。
返回值是布尔类型,函数作为参数使用,函数中有三个参数,第一个参数是元素的值,第二个参数是索引值,第三个参数是原来的数组(没用)、如果这个数组中的每个元素的值都符合条件,最后才返回的是true
var arr = [1, 2, 3, 4, 5, 6];
console.log(arr.every(function (item, index, array) {
console.log('item=' + item + ',index=' + index + ',array=' + array);
//item是数组的值 index自动循环的值 array 自身的数组(一般没用 只用前面两项参数)
return item > 0;
//这里写函数的判断 只要有一个不是true就停止继续循环 只有全部函数判断结果为true才返回true
}));//true var arr=["小明明lkko","小曹操674","小白白bd","笑眯眯a"];
var flag=arr.every(function (ele,index) {
//数组中的每个元素的长度是不是大于4
return ele.length>4;
});
console.log(flag);//false
4、Array.some()(函数)--是对数组中每一项运行给定函数,如果该函数对任一项返回true,则返回true。some一直在找符合条件的值,一旦找到,则不会继续迭代下去
var arr = [ 1, 2, 3, 4, 5, 6 ];
console.log( arr.some( function( item, index, array ){
console.log( 'item=' + item + ',index='+index+',array='+array );
//item是数组的值 index自动循环的值 array 自身的数组(一般没用 只用前面两项参数)
return item > 3;
//这里写函数的判断 只要有一个是true就停止继续循环 有一个函数判断结果为true就返回true
})); //true
5、Array.filter(函数);返回的是数组中每一个元素都复合条件的元素,组成了一个新的数组
var arr = [10, 20, 30, 40, 50, 60, 70, 80];
var newArr = arr.filter(function (ele) {//ele---每个元素
return ele > 40;
});
console.log(newArr);//[50, 60, 70, 80] //可以用来去重
var arr = [10, 0, 20, 0, 40, 0, 60, 100];
var newArr = arr.filter(function (ele) {
return ele != 0;
});
console.log(newArr);//[10, 20, 40, 60, 100]
6、Array.push(值);--->把值追加到数组中,加到最后了---返回值也是追加数据之后的数组长度(重点+++)
var arr =[10,20,30];
console.log(arr.push(40));//返回值是 增加后的数组涨肚
console.log(arr);//[10, 20, 30, 40]
7、Array.pop();--->删除数组中最后一个元素,返回值就是删除的这个值(重点+++)
var arr =[10,20,30,40];
console.log(arr.pop());//返回值是删除的值
console.log(arr);//[10, 20, 30]
8、Array.shift();--->删除数组中第一个元素,返回值就是删除的这个值(重点+++)
var arr =[10,20,30,40];
console.log(arr.shift());//返回值是删除的值
console.log(arr);//[ 20, 30,40]
9、Array.unshift();--->向数组的第一个元素前面插入一个新的元素,----返回值是插入后的程度(重点+++)
var arr=[10,20,30,40,50];
var result=arr.unshift(5);
console.log(result);//返回现在的长度
console.log(arr);//[5,10,20,30,40,50]
10、Array.forEach(函数)方法---遍历数组用---相当于for循环
var arr = [10, 20, 30, 40];
arr.forEach(function (ele,index) {
console.log("数组的值:"+ele+'----'+"自迭代的值:"+index);
});
// 数组的值:10----自迭代的值:0
// 数组的值:20----自迭代的值:1
// 数组的值:30----自迭代的值:2
// 数组的值:40----自迭代的值:3
11、Array.map(函数);--->数组中的每个元素都要执行这个函数,把执行后的结果重新的全部的放在一个新的数组中
function f1(a) {
return Math.pow(a, 2);
}
var arr = [1, 2, 3, 4, 5];
console.log(arr.map(f1));//[1, 4, 9, 16, 25]
12、Array.indexOf(元素值);返回的是索引,没有则是-1
var arr=[10,20,30,40];
console.log(arr.indexOf(10)); // 返回对于字符串的索引
console.log(arr.indexOf(50));//找不到就返回-1
13、Array.join("字符串");----数组中每个值与字符串拼接 返回的是一个字符串
var arr=["小白","小黑","小红","小芳","小绿","小苏"];
var str=arr.join("|");
console.log(str);//小白|小黑|小红|小芳|小绿|小苏
14、Array.reverse();----->反转数组
var arr=[10,20,30,40,50];
arr.reverse();//反转
console.log(arr);//[50, 40, 30, 20, 10]
15、Array.sort();---排序的,可能不稳定,如果不稳定,请写MDN中的那个固定的代码(自行MDN)
16、Array.arr.slice(开始的索引,结束的索引);把截取的数组的值放在一个新的数组中,但是不包含结束的索引对应的元素值
var arr=[10,20,30,40,50,60,70,80,90,100];
var newArr= arr.slice(3,7);
console.log(newArr);// [40, 50, 60, 70]
17、Array.splice(开始的位置,要删除的个数,替换的元素的值);一般是用于删除数组中的元素,或者是替换元素,或者是插入元素(重点++)
var myFish = ['angel', 'clown', 'mandarin', 'sturgeon'];
myFish.splice(2, 0, 'drum'); // 在索引为2的位置插入'drum'
console.log(myFish);//["angel", "clown", "drum", "mandarin", "sturgeon"] myFish.splice(2, 1); // 从索引为2的位置删除一项(也就是'drum'这一项)
console.log(myFish);//["angel", "clown", "mandarin", "sturgeon"]
js Array属性和用法的更多相关文章
- JS中"属性"的用法
JS的属性和C#有相似之处 ! 使用get和set来进行属性的获取和设置 var obj={ a:"1", get age(){ return obj.a; }, set age ...
- vue.js中的表单radio,select,textarea的v-model属性的用法
只要是表单元素,其值已经不会再用value来定义了,但是placeholder还是可以用来设置默认值. section1--input:type="text" type=" ...
- [转载]js中return的用法
一.返回控制与函数结果,语法为:return 表达式; 语句结束函数执行,返回调用函数,而且把表达式的值作为函数的结果 二.返回控制,无函数结果,语法为:return; 在大多数情况下,为事件处理函 ...
- SSH+DWZ、JQuery-UI ,swfobject.embedSWF属性与用法,IE下日期控件被flash控件挡住
---恢复内容开始--- 最近在做SSH+DWZ(JQuery-UI)项目,在用到图表问题的时候,出现在IE下面,日期控件被flash被挡住而不能选取日期情况,经在网络搜查,现在解决办法如下: 1.首 ...
- 教程-Delphi中Spcomm使用属性及用法详解
Delphi中Spcomm使用属性及用法详解 Delphi是一种具有 功能强大.简便易用和代码执行速度快等优点的可视化快速应用开发工具,它在构架企业信息系统方面发挥着越来越重要的作用,许多程序员愿意选 ...
- 从Chrome源码看JS Array的实现
.aligncenter { clear: both; display: block; margin-left: auto; margin-right: auto } .crayon-line spa ...
- js对象属性 通过点(.) 和 方括号([]) 的不同之处
// js对象属性 通过点(.) 和 方括号([]) 的不同之处 // 1.点操作符: 静态的.右侧必须是一个以属性名称命名的简单标识符.属性名用一个标识符来表示.标识符必须直接出现再js ...
- Mybatis 中遍历map 参数中的 list 和 array 属性
原文:https://blog.csdn.net/liudongdong0909/article/details/51048835 问题在项目有中遇到批量删除操作时,需要根据两个属性去删除数据,其中一 ...
- js Array 方法总结
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
随机推荐
- phpmailer邮件类
<?php/** * 邮件类 * Enter description here ... * @author df * Mail::getMail()->sendMail(); * */cl ...
- collections、time和datetime模块
主要内容: 一.collections模块 二.time模块 三.datetime模块 1️⃣ collection模块 1.什么是collections模块.干什么用? collections模块 ...
- DataSet、DataTable转换List(泛型集合与DataSet互相转换 )
using System.Data; using System.Reflection; using System.Collections; using System.Collections.Gener ...
- p2150 [NOI2015]寿司晚宴
传送门 分析 我们发现对于大于$\sqrt(n)$的数每个数最多只会包含一个 所以我们把每个数按照大质数的大小从小到大排序 我们知道对于一种大质数只能被同一个人取 所以f1表示被A取,f2表示被B取 ...
- Python3 BeautifulSoup和Pyquery解析库随笔
BeautifuSoup和Pyquery解析库方法比较 1.对象初始化: BeautifySoup库: from bs4 import BeautifulSoup html = 'html strin ...
- Requests接口测试(五)
使用python+requests编写接口测试用例 好了,有了前几章的的基础,写下来我把前面的基础整合一下,来一个实际的接口测试练习吧. 接口测试流程 1.拿到接口的URL地址 2.查看接口是用什么方 ...
- Python基础入门-IF语句
今天给大家分享一下Python中的IF语句的使用场景以及注意事项.主要内容如下: 1.python中的真假 2.Python操作符 3.if语句实例和嵌套实例 4.if语句中的if嵌套实例 5.and ...
- spring+hibernate工作流程文件名理解
reg.jsp regsuccess.jsp User.java UserDAO.java UserDAOImpl.java User.hbm.xml Reg.java RegImpl.java Re ...
- 解决Eclipse+ADT连接夜神模拟器失败问题
问题1: 运行夜神模拟器,cmd执行 adb devices不显示 答案1: 原因可能是夜神模拟器的adb版本与sdk下的adb版本不一致,拷贝sdk下的adb.exe并改名为nox_adb.exe替 ...
- Java集合类总结 (四)
PriorityQueue类 优先队列不管你按照什么顺序插入元素,出队列的时候元素都是按顺序输出的.也就是每次调用remove的时候,都返回当前队列中最小的元素.然后队列中的元素不是维持排序状态的,如 ...