Js 数组的各种方法及操作
一、数组去重
var arr = [0,1,20,3,0,45,6,0];
Array.prototype.unrepeat = function(){
var array = [];
for(var i = 0;i<this.length;i++){
if(array.indexOf(this[i]) === -1){
array.push(this[i]);
}
}
return array;
}
console.log(arr.unrepeat());
二、数组排序
var arr = [1,5,9,4,8,7]
arr = arr.sort(function(a,b){return a-b}) // 升序
console.log(arr);
三、数组对象的排序
var arr = [{id:1},{id:7},{id:5},{id:9},{id:20},{id:3}]
arr = arr.sort(function(a,b){return a.id - b.id})
console.log(arr)
四、字符串转换数组的小方法
1)eval():
var arr = "[1,2,3,4,5]";
console.log(eval(arr)) // 性能较差
2)JSON.parse();
var arr = "[1,2,3,4,5]";
console.log(JSON.parse(arr))
3)es6的Array.of()
console.log(Array.of(1,2,3,4,8))
console.log(Array.of("a","b","c","d"))
4)非字符串数组格式的字符串转化成数组
var arr = "1,2,3,4,5";
arr = "["+arr+"]"
console.log(JSON.parse(arr),eval(arr));
五、数组转化成字符串
1)toString()
var arr = ["Creek","Sinoshy","Stream"]
console.log(arr.toString()) // 以“,”作为分隔符
2)join()
var arr = ["Creek","Sinoshy","Stream"]
console.log(arr.join()) // 默认以逗号分隔,如果给参数,那么会根据给的参数进行分隔
六、删除两个数组中相同的元素
let arr1 = [1,5,7];
let arr2 = [1,2,3,4,5,6,7]
for(let i = 0;i < arr1.length;i ++){
for(let x = 0;x < arr2.length;x ++){
if(arr1[i] === arr2[x]){
arr2.splice(x,1)
}
}
}
console.log(arr2)
Js 数组的各种方法及操作的更多相关文章
- 关于JS数组的栈和队列操作
1.js支持重载吗? 虽然js 本身并没有函数重载,但是可以用arguments来模拟重载,函数名相同,参数不同,arguments的length属性,获取参数个数,索引属性获取参数值 2.什么是作用 ...
- JS —— 数组与字符串方法
数组 1. 基本方法 1)Array.prototype.unshift(item1,item2,item3...) 描述: 在数组的前面添加元素,一次可以传入多个参数. 注意:元素会根据当前传入的 ...
- js数组去重的方法(转)
JS数组去重的几种常见方法 一.简单的去重方法 // 最简单数组去重法 /* * 新建一新数组,遍历传入数组,值不在新数组就push进该新数组中 * IE8以下不支持数组的indexOf方法 * */ ...
- js数组高阶方法reduce经典用法代码分享
以下是个人在工作中收藏总结的一些关于javascript数组方法reduce的相关代码片段,后续遇到其他使用这个函数的场景,将会陆续添加,这里作为备忘. javascript数组那么多方法,为什么我要 ...
- JS 数组常用的方法
数组常用的方法: x.toString()方法:任何对象都有toString方法. 将任何对象转为字符串. 一般不主动调用,系统在需要时自动调用 x.valueOf()方法:同toStr ...
- js数组的forEach方法能不能修改数组的值
如果要使用数组的forEach()方法对其改值时,需要直接通过arr[i]这种方式来更改. 请看下面代码: // 数组改值 let arr = [1,3,5,7,9]; arr.forEach(fun ...
- js数组之迭代方法
ES5为数组对象定义了5个迭代方法(即递归,简单的说就是自己可以调用自己). 每个方法接收两个参数:要在每一项上运行的函数(接收3个参数:数组项的值,该项在数组中的位置,数组对象本身)和(可选的) ...
- js 数组中的方法
<!DOCTYPE html><html><head> <title>数组的方法</title> <meta charset=&quo ...
- js数组的splice方法
w3school文章链接:http://www.w3school.com.cn/jsref/jsref_splice.asp splice:拼接,结合. splice()方法向数组添加/删除元素,返回 ...
随机推荐
- Linux 网络 tcp C/S通信模型
C/S模型就是server 与 client 的模型 TCP服务器模型流程图 ...
- asp.net MVC项目,localhost响应时间过长
1.早上高高兴兴的吃完早餐,敲了几句代码,准备调试,竟然发现VS调试项目打开的很慢,最后报错如下图 2.那就很可能是IIS问题嘛,IIS重启了一下,还是不行,在地址栏输入localhost,如下图(本 ...
- 笔记49 在Spittr应用中整合Hibernate
在前边构建的Spittr应用中整合Hibernate 由于最近所学的hibernate都是使用xml方式进行配置的,所以在与以Java方式配置的Spittr应用结合时就会出现一些小问题,在此进行总结. ...
- tf-idf 词条权重计算
在文本分类问题中,某些高频词一直出现,这样的词对区分文档的作用不大,例如: D1: 'Job was the chairman of Apple Inc.' D2: 'I like to use ...
- jquery获取select选中项 自定义属性的值
<select id="serialNo" > <option value=''1' data-id="001">第一次</opt ...
- python 相关操作
json转字典: #如:{"Message":"OK","RequestId":"9922A379-7373-492C-842A- ...
- Android中的Serialable和Parcelable的区别
本文主要介绍Parcelable和Serializable的作用.效率.区别及选择,关于Serializable的介绍见<Java中的序列化Serialable高级详解> 1.作用 Ser ...
- python 识别验证码自动登陆
# python 3.5.0 # 通过Chrom浏览器访问发起请求 # 需要对应版本的Chrom和chromdriver # 作者:linyouyi from selenium import webd ...
- csp-s模拟测试94
csp-s模拟测试94 一场简单题,打爆了.$T1$脑抽分解质因数准备分子分母消,想了半天发现$jb$互质直接上天,果断码了高精滚蛋.$T2$无脑手玩大样例,突然灵光一闪想到映射到前$K$大小的区间, ...
- js Date.parse() format.
date format android chrome linux chrome Mobile safari ios chrome windows safari linux firefox window ...