数组之slice,splice,Concact,Reverse,Sort方法
Slice(strart,end)用来从数组中提取元素.该方法不会改变元素数组,而是将截取到的元素封装到一个新数组中返回
参数start 截取开始的位置索引,包含开始索引
参数end 截取结束位置的索引,不包括结束索引,第二参数可以省略,截取从start索引往后的所有元素
索引可以传负值,从后往前计算-1为倒数第一个,-2为倒数第二个
Splice方法 删除原数组中指定元素,会影响原数组,将被删除的元素作为返回值返回
splice(start, deleteCount, [item1[, item2[, . . . [,itemN]]]])
start 必选项。指定从数组中移除元素的开始位置,这个位置是从 0 开始计算的。
deleteCount 必选项。要移除的元素的个数。
item1, item2,. . .,itemN 必选项。要在所移除元素的位置上插入的新元素。
利用splice去重练习
var arr = [1,3,5,2,4,2,3,5,5,5,5,2]
for (var i = 0; i<arr.length;i++) {
for (var j = i+1; j<arr.length;j++) {
if (arr[i]==arr[j]) {
arr.splice(j,1)
j--
/*
j--不写输出结果为[1, 3, 5, 2, 4, 5],因为splice会影响当前数组元素,当相邻2个以上的重复元素比较时,会把第二个删除,而此时第三个重复元素的位置就变成了第二,
但是第二个已经比对过了,所以会直接往下走,造成重复数据未能完全清除
*/
}
}
}
console.log(arr)
Concact方法 可以连接2个或者多个数组、元素,并把新的数组返回,
该方法对原数组不会产生变化,
Join方法 该方法可以将数组转换成一个字符串,不对原数组产生影响,而是将转换后的字符串作为结果返回,Join()方法中可以指定一个字符串作为参数,这个字符串会成为数组中元素的连接符,不指定默认为逗号
Reverse方法用来反转数组,头尾互换.会修改原数组内的数据
Sort 对数组内元素排序,影响原数组按照字符串在UNICODE编码排序,所以对数字排序会错误. sort(sortfunction)
sortFunction可选项。是用来确定元素顺序的函数的名称。如果这个参数被省略,那么元素将按照 ASCII 字符顺序进行升序排列。如果为 sortfunction 参数提供了一个函数,那么该函数必须返回下列值之一:
负值,如果所传递的第一个参数比第二个参数小。
零,如果两个参数相等。
正值,如果第一个参数比第二个参数大。
我们可以自己写个函数来规定里面的参数排序方法
var arr = [1,3,5,2,4,2,3,5,5,5,5,2]
function fun (a,b) {
if (a>b) {
return 1
}
else if( a <b){
return -1
}
else{
return 0
}
}
arr.sort(fun)
console.log(arr)
数组之slice,splice,Concact,Reverse,Sort方法的更多相关文章
- JS 数组array方法push, pop, unshift, shift, slice,splice,contact, join, sort
Array:数组对象用来在单独的变量名中存储一系列的值 定义数组: 1. var arrayObj = new Array(); 2. var arrayObj = ...
- 定义一个数组,并对这个数组进行动态初始化,使用sort方法进行排序后,再将数组中的元素倒置过来。
Sort方法,生序排序 package com.fs.array; import java.util.Arrays; public class ArraySort { public static vo ...
- js中json对象数组按对象属性排序(sort方法)---2(根据拼音排序汉字和排序英文)
本例主要实现 中文汉字按拼音排序的方法和英文按照首字母排序的方法. 要排序的数据: //要排序的数据 let data = [ {chinese: '蔡司', english: 'Chase'}, { ...
- .NET中string[]数组和List<string>泛型的相互转换以及Array类的Sort()方法(转)
从string[]转List<string>: " }; List<string> list = new List<string>(str); 从List ...
- 基于原生JS封装数组原型上的sort方法
基于原生JS封装数组原型上的sort方法 最近学习了数组的原型上内置方法的封装,加强了用原生JS封装方法的能力,也进一步理解数组方法封装的过程,实现的功能.虽然没有深入底层,了解源码.以下解法都是基于 ...
- Python 冒泡排序只适用位数相同,位数不同用a.sort()方法
数组内容双位数排序: #coding:utf-8 print u"中文" a = ['] b = 0 c = 0 print a i =0 for j in range (len( ...
- Array类的Sort()方法
刚复习了Array类的sort()方法, 这里列举几个常用的,和大家一起分享. Array类实现了数组中元素的冒泡排序.Sort()方法要求数组中的元素实现IComparable接口.如System. ...
- C# Array类的Sort()方法
Array类实现了数组中元素的冒泡排序.Sort()方法要求数组中的元素实现IComparable接口.如System.Int32 和System.String实现了IComparable接口,所以下 ...
- 数组中的元素 增加push用法 unshift() 方法 和减少pop() 方法 shift() 和其他位置增删 splice() 方法 join() 方法 reverse() 方法 sort() 方法
push用法 push 英 [pʊʃ] 美 [pʊʃ] vt. 推,推动; vt. 按; 推动,增加; 对…施加压力,逼迫; 说服; n. 推,决心; 大规模攻势; 矢志的追求 定义和用法 push( ...
随机推荐
- 简单的压力测试工具 siege
$ siege -c 1000 -r 100 -b http://127.0.0.1:13579/3344 HTTP/1.0 200 0.02 secs: 49 bytes ==> GET /3 ...
- 使用contenteditable=true的div模拟textarea(vue2.0中使用,带placeholder且高度自动撑开)
子组件: <template> <div class="item-address"> <span v-show="!hasAddress&q ...
- 【Monkey】Monkey基础概念
1.什么是Monkey? 发送伪随机用户事件的命令 2.Monkey在哪? 在手机系统里 3.什么是ADB? 4.MonkeyScript 一组可以被Monkey识别的命令集合,可以完成重复固定的操作 ...
- linux php7.2安装扩展memcached
wget http://pecl.php.net/get/igbinary-2.0.8.tgz tar -xzvf igbinary-2.0.8.tgz cd igbinary-2.0.8 /usr/ ...
- 跟随我在oracle学习php(12)
DOM 文档对象模型 body:(什么时候)找到标签 操作标签找到标签:(都会返回一个js对象)document.getElementById() 通过iddocument.getElementsBy ...
- openjudge真的慢啊
€openjudge真的慢啊
- add
前台 <input id="Button1" type="button" value="button" onclick="a ...
- lua 基础 之 坑一样的地方
-- local 局部-- local表=全局表,是同一个表,这主要是由于lua的表机制是匿名的,相当于函数的指针,local foo = foo,-- 即使本地foo没有在全局_G注册,还是引用的是 ...
- FTP 代理服务器实现
本文将在Linux环境下实现一个简单的FTP代理服务器,主要内容涉及FTP主动/被动模式和简单的Socket编程. 1. 主动模式和被动模式 FTP有两种模式,即主动模式(Active Mode)和被 ...
- php不用正则表达式实现身份证号验证详解
写了一个身份证号验证类,php小白,写的不好,欢迎各位大神给我多提意见和建议 身份证号分为四部分,第一部分是前6位为地址码,7-14位是出生日期,15-17位是同一地方同一天出生的男孩为奇数,女孩是偶 ...