删除数组末尾元素

题目:删除数组 arr 最后一个元素。不要直接修改数组 arr,结果返回新的数组。

第一种方法(concat  +  splice):

1 function truncate(arr) {
2     var newArr = arr.concat();//concat(item)连接生成新数组,无item则是浅复制
3     newArr.splice(arr.length-1,1);//splice第一个参数为要删除的起始位置,第二个参数为删除的个数
4     return newArr;
5 }

第二种方法(concat  +  pop):

1 function truncate(arr) {
2     var newArr = arr.concat();
3     newArr.pop();//pop()返回的是数组末尾元素
4     return newArr;
5 }

第三种方法( filter ):

1 function truncate(arr) {
2     //filter利用指定函数确定是否在返回的数组中包含某一项
3     var newArr = arr.filter(function(item,index,arr){
4         return index != arr.length-1;
5     });
6     return newArr;
7 }

第四种方法(jion + split + pop):

 1 function truncate(arr) {
 2     /*join(元素) 方法用于把数组中的所有元素放入一个字符串。
 3      元素是通过指定的分隔符进行分隔的。
 4      如:
 5      arr.join() 返回 1,2,3
 6      arr.join(‘/‘) 返回 1/2/3
 7
 8      split(元素)指定分隔符,返回新数组
 9      */
10     var newArr = arr.join().split(‘,‘);
11     newArr.pop();
12     return newArr;
13 }

第五种方法(apply  +  pop):

1 function truncate(arr) {
2     /*
3     apply(thisObj,[argArray]) :应用某一对象的一个方法,用另一个对象替换当前对象。实际上是改变函数体内 this 的值
4     */
5     var newArr = [];
6     [].push.apply(newArr , arr);
7     newArr.pop();
8     return newArr;
9 }

第六种方法(for循环赋值):

1 function truncate(arr) {
2     var newArr = new Array();
3     for(var i = 0; i<arr.length ; i++){
4         newArr[i] = arr[i];
5     }
6     newArr.pop();
7     return newArr;
8 }

原文地址:https://www.cnblogs.com/daheiylx/p/8877099.html

时间: 2024-10-14 01:43:37

删除数组末尾元素的相关文章

javascript 笔试题之删除数组重复元素

笔试时紧张没写出来,静下心后发现简单的要死. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html lang="en"> <head> <meta http-equiv="Content-Type" content=&quo

javascript根据索引删除数组的元素

javascript根据索引删除数组的元素:根据索引值删除数组元素,就是删除指定索引的数组元素,下面就通过代码实例简单介绍一下如何实现此功能.代码如下: var theArray=["蚂蚁部落",2,"青岛市南区","antzone"]; theArray.splice(2,1); console.log(theArray); 以上代码可以删除索引值为2的元素,也就是数组中的第三个元素.splice()函数可以参阅javascript的Array

JS实现循环删除数组中元素的方法介绍

这篇文章主要给大家介绍了关于Javascript循环删除数组中元素的几种方法,文中给出了详细的示例代码供大家参考学习,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧. 本文主要跟大家分享了关于Javascript循环删除数组中元素的几种方法,分享出来供大家参考学习,下面来看看详细的介绍: 发现问题 大家在码代码的过程中,经常会遇到在循环中移除指定元素的需求.按照常规的思路,直接一个for循环,然后在循环里面来个if判断,在判断中删除掉指定元素即可.但是实际情况往往不会像预想的那样顺利

08.18 javascript 06 数组 数组的概念 创建数组 读取数组中的元素 稀疏数组 添加和删除数组的元素 数组遍历 多维数组 数组的方法 类数组对象 作为数组的字符串

# 数组 ### 数组的概念 * 数组是值的有序集合 * 数组中的每个值 称之为 元素 * 每个元素可以是任意数据类型的值 * 每个元素都有索引(下标) * 元素的索引从0开始,按照顺序递增. 元素最大的索引 2^32-2 ### 创建数组 * 直接量 `[]` * 构造函方式  `new Array()` ### 读写数组中的元素 * 数组名[索引] ### 稀疏数组 * js数组的索引是连续的 * 没有连续的给元素赋值 , 没有赋值的元素会自动赋值 undefined ### 添加和删除 数

[Js]删除数组指定元素

写在前面 在最近的项目中,有用到js对数组的操作,之前自己几乎没有用到这种方法,这里就记录一下,算是对学到的东西的一种总结吧. 数组对象splice方法 splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目.该方法会改变原始数组. 基本语法 arrayObject.splice(index,howmany,item1,.....,itemX)  参数说明 index:必需.整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置. howmany:必需.要删除的项目数量.

循环删除数组中元素的正确方法

1.循环删除数组中元素的正确方法 提起循环删除数组中的元素,最先想到的就是使用for循环和数组的splice方法来实现(正序循环删除方法),如下代码用来实现删除数组中大于2的元素: 1 let arr = [1, 2, 3, 4, 5, 4, 3, 2, 1]; 2 for (let i = 0, len = arr.length; i < len; i++) { 3 if (arr[i]> 2) { 4 arr.splice(i, 1); 5 } 6 } 7 console.log(arr)

Perl删除数组中元素的多种方法

Perl中的数组元素起始引用序号为0,@array的第一个元素为$array[0],依次递增,最后一个元素为$array[-1]或者$#array.如果要删除一个数组中已有的元素,可以用以下几个函数来实现. 1.函数名 grep调用语法 @foundlist = grep (pattern, @searchlist);解说 与同名的UNIX查找工具类似,grep函数在列表中抽取与指定模式匹配的元素,参      数pattern为欲查找的模式,返回值是匹配元素的列表.例子 @list = ("T

(实用篇)PHP中unset,array_splice删除数组中元素的区别

php中删除数组元素是非常的简单的,但有时删除数组需要对索引进行一些排序要求我们会使用到相关的函数,这里我们来介绍使用unset,array_splice删除数组中的元素区别吧 如果要在某个数组中删除一个元素,可以直接用的unset,但是数组的索引不会重排: <?php $arr = array('a','b','c','d'); unset($arr[1]); print_r($arr); ?> 结果是: Array ( [0] => a [2] => c [3] => d

Perl快捷删除数组重复元素,以前写过类似的博客,今天被问起时,却支支吾吾!

以前写过类似的博客: http://blog.csdn.net/three_man/article/details/34084361 今天拿出来,再好好剖析一下: 1. 构造一个含有重复元素的数组 my @arr1 = (1 .. 10); my @arr2 = (5 .. 15); # join multi array my @arr = (@arr1, @arr2); 2. 删除数组中的重复元素 sub removeRepeat { my $arrRef = shift; my %count