JavaScript Array function 常见操作json 数组
JavaScript中创建数组有两种方式
(一)使用 Array 构造函数:
var arr1 = new Array(); //创建一个空数组
var arr2 = new Array(20); // 创建一个包含20项的数组
var arr3 = new Array("jack","lucy","Tom"); // 创建一个包含3个字符串的数组
(二)使用 Array 构造函数:
数组的方法有数组原型方法,也有从object对象继承来的方法,这里我们只介绍数组的原型方法,数组原型方法主要有以下这些
join() //切割数组转为字符串
push() //可以接收任意数量的参数,把它们逐个添加到数组末尾,并返回修改后数组的长度。
pop() //数组末尾移除最后一项,减少数组的 length 值,然后返回移除的项。
shift() //删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefined 。
unshift() //将参数添加到原数组开头,并返回数组的长度 。
sort() //按升序排列数组项——即最小的值位于最前面,最大的值排在最后面。
reverse() //反转数组项的顺序。
concat() //将参数添加到原数组中。这个方法会先创建当前数组一个副本,然后将接收到的参数添加到这个副本的末尾,最后返回新构建的数组。在没有给 concat()方法传递参数的情况下,它只是复制当前数组并返回副本。
slice() //返回从原数组中指定开始下标到结束下标之间的项组成的新数组。slice()方法可以接受一或两个参数,即要返回项的起始和结束位置。在只有一个参数的情况下, slice()方法返回从该参数指定位置开始到当前数组末尾的所有项。如果有两个参数,该方法返回起始和结束位置之间的项——但不包括结束位置的项。
splice() //很强大的数组方法,它有很多种用法,可以实现删除、插入和替换。
indexOf() //接收两个参数:要查找的项和(可选的)表示查找起点位置的索引。其中, 从数组的开头(位置 0)开始向后查找。
lastIndexOf() (ES5新增)//接收两个参数:要查找的项和(可选的)表示查找起点位置的索引。其中, 从数组的末尾开始向前查找。
forEach() (ES5新增)//对数组进行遍历循环,对数组中的每一项运行给定函数。这个方法没有返回值。参数都是function类型,默认有传参,参数分别为:遍历的数组内容;第对应的数组索引,数组本身。
map() (ES5新增)//指“映射”,对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组。
filter() (ES5新增)//“过滤”功能,数组中的每一项运行给定函数,返回满足过滤条件组成的数组。
every() (ES5新增)//判断数组中每一项都是否满足条件,只有所有项都满足条件,才会返回true。
some() (ES5新增)//判断数组中是否存在满足条件的项,只要有一项满足条件,就会返回true。
reduce() //reduce()方法从数组的第一项开始,逐个遍历到最后。
reduceRight() (ES5新增)//而 reduceRight()则从数组的最后一项开始,向前遍历到第一项。
操作Array
数组去重的方法//ES6中的new Set方法var arr = [1,1,1,2,34,5,6,5,6,2,1]console.log(arr) //去重前arr = [...new Set(arr)]console.log(arr) //去重后数组去重的函数封装function romoval(arr1) {//定义一个空数组用来存储去重后的结果var arr = [];//遍历数组中的所有元素for(var i = 0; i < arr1.length; i++) {//判断arr数组中是否有当前遍历的元素出现//如果 arr里面没有当前遍历的元素的话if(arr.indexOf(arr1[i]) == -1) {arr.push(arr1[i]); //空数组中添加元素}}//console.log(arr);return arr;}返回一个数组中的相同项function repeatArray(arr) {let repeatItem = [];arr.sort().sort((a, b) => {if (a === b && repeatItem.indexOf(a) === -1) {repeatItem.push(a);}});return repeatItem;
}数组排序//冒泡排序的方法var arr = [12,2,4,3,18,5];//外层循环,循环遍历所有的值for(var i=0;i<arr.length; i++){//内层循环,从当前元素下一个元素开始循环比较,取决于当前i循环到的值for(var j = i+1; j<arr.length; j++){//i下标对应的值和j下标对应的值进行比较if(arr[i] > arr[j]){//数组前面的元素大于后面的元素,交换位置var tmp = arr[i];arr[i] = arr[j];arr[j] = tmp;}}}console.log(arr);//打印数组的值// sort排序var arr = [12,2,4,3,18,5];//自定义的排序方法function px(a,b){return a-b; //降//return b-a; 升}var arr = arr.sort(px); console.log(arr);
操作数组对象 / json / [{},{},{}]
const arr = [{assetCode: '600734',assetName: '蒸羊羔儿',
}, {assetCode: '600735',assetName: '蒸熊掌',
}, {assetCode: '600736',assetName: '蒸鹿尾儿',
}, {assetCode: '600737',assetName: '烧花鸭',
}, {assetCode: '600738',assetName: '烧雏鸡',
}, {assetCode: '600739',assetName: '烧子鹅',
}, {assetCode: '600740',assetName: '炉猪',
}, {assetCode: '600741',assetName: '炉鸭',
}, {assetCode: '600742',assetName: '炉猪',
}, {assetCode: '600743',assetName: '酱鸡',
}, {assetCode: '600744',assetName: '腊肉',
}, {assetCode: '600745',assetName: '松花小肚儿',
}, {assetCode: '600746',assetName: '晾肉',
}, {assetCode: '600747',assetName: '香肠儿',
}, {assetCode: '600748',assetName: '什锦苏盘儿',
}];;let assets = ["600742", "600740", "600741", "600739"]// 返回assets中的包含 arr.assetCode 的 item项
const newArr = assets.map(item => {return arr.find(ite => ite.assetCode === item);
});// 删除两个数组中 相同的 item (批量删除)let selectList = [{assetCode: '600745',assetName: '松花小肚儿',
}, {assetCode: '600746',assetName: '晾肉',
}, {assetCode: '600747',assetName: '香肠儿',
}, {assetCode: '600748',assetName: '什锦苏盘儿',
}]
const arr = [...arr, ...selectList];
const newArr = arr.filter(item => {return !(arr.includes(item) && selectList.includes(item));
});// 删除两个数组中 相同的 item (单个删除)let isDelCode = [{assetCode: '600745',assetName: '松花小肚儿',
}]const newArr = arr.filter((item, index, array) => {return !(array.includes(item) && isDelCode.includes(item));
});
————————————————————————————————
只是记录自己工作中常见的东西 毫无商业价值
JavaScript Array function 常见操作json 数组相关推荐
- java代码中fastjson生成字符串和解析字符串的方法和javascript文件中字符串和json数组之间的转换方法...
1.java代码中fastjson生成字符串和解析字符串的方法 List<TemplateFull> templateFulls = new ArrayList<TemplateFu ...
- js常用的操作json数组
var array = [{"name": "满意1","value": "100"},{"name" ...
- Java操作Json数组
一.字符串与json 字符串格式: static String json = "[{'day1':'work','day2':26},{'day1':123,'day2':26}]" ...
- 数组常见操作:数组中元素的查找
package day4;/*** 数组中元素的查找*/ public class ArrDemo10 {public static void main(String[] args) {int[] a ...
- scala学习笔记-Array、ArrayBuffer以及遍历数组(7)
Array 在Scala中,Array代表的含义与Java中类似,也是长度不可改变的数组.此外,由于Scala与Java都是运行在JVM中,双方可以互相调用,因此Scala数组的底层实际上是Java数 ...
- Poco库使用:操作Json格式数据
文章目录 1.解析json字符串数据 2.生成Json格式的数据 3.操作Json数组 4.使用字符串流转换Json格式数据 5.使用键值检索Json结构中的数据 6.使用原始字符串避免字符转义 7. ...
- js json数组按某一字段排序
一.首先给大家介绍js中内置的 sort() 方法 此方法默认是按字母顺序对数组中的元素进行排序的,说得更精确点,是按照字符编码的顺序进行排序. 看如下例子: 当数组中元素为 数字类型 时,排序结果与 ...
- jq遍历json/数组
$(function() {//jq遍历json/数组var json =[{code:"101",val:"1111"},{code:"102&qu ...
- JavaScript对数组的常见操作
遍历数组 for-of 循环 for(let item of items)循环遍历数组项 let ary = ["css", "Javascript", &qu ...
最新文章
- python数据库gui_从python数据库在gui上打印数据
- 一次性讲清 Spring 常用注解 @Bean 、 @Component 、@Autowire、@Resource 的区别, 你知道吗?
- 谈谈图像的style transfer(二)
- 智课雅思词汇---五、优词词根字典
- NoSQL实现(3)——Cassandra
- Linux 运维工作中的经典应用ansible(批量管理)Docker容器技术(环境的快速搭建)...
- C#学习笔记:预处理指令
- bing背单词交互流程 - Chongyang Bai
- windows安装Linux卡logo,Dell xps 15 windows ubuntu16.04 UEFI 双系统安装 卡在logo界面 卡***问题解决...
- android标题栏上增加按钮,Android:向自定义标题栏添加按钮
- a标签无跳转的死链接
- android+大富翁+局域网,【图片】大富翁6局域网(LAN)多人联机教程(求精)_大富翁吧_百度贴吧...
- 使用CocoaPods被卡住:Updating local specs repositories
- CnForums1.0 Alpha RC1 发布
- word方框(□)中打钩(√)的3种方法
- 中英文语音/录音转文字必备的6个软件
- 面向对象,继承封装的应用
- outlook服务器响应错误,outlook 错误代码解析与解决方法
- 设计模式(一)设计模式的分类与区别
- android简单记账源码,Android+个人记账程序源码.rar(入门级)
热门文章
- mysql回到上级目录_获取当前目录的上级目录
- PHP上传图片到数据库
- 使用metaIn建设智慧城市
- 和12岁小同志搞创客开发:遥控舵机
- 纯web项目不能使用mui.preload进行页面预加载的解决办法
- python 时间序列数据 重采样
- vuecli3关闭 Prefetch
- 基于python的垃圾邮件分类_python实现贝叶斯推断——垃圾邮件分类
- 特别行政区界线lisp_CAD 系统变量参数大全 - AutoLISP/Visual LISP 编程技术 - CAD论坛 - 明经CAD社区 - Powered by Discuz!...
- Python量化投资——七行python代码生成K线图(最后有干货)