数组中的方法-- 会改变原数组的

我总结数组中的方法归为两类,一种是会改变原数组的,一种是不改变原数组的

这里将会介绍改变原数组的方法

1.pop()移除数组最后一个元素

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.pop();
console.log(fruits)

//[ ‘Banana‘, ‘Orange‘, ‘Apple‘ ]

2.push()把元素添加到数组尾部

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.push("Kiwi")
结果输出
Banana,Orange,Apple,Mango,Kiwi

3.reverse()在原数组中颠倒元素的顺序。

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.reverse();
输出结果
Mango,Apple,Orange,Banana

4.shift ()移除数组的第一个元素。

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.shift()
结果
Orange,Apple,Mango

5.sort ()在原数组中对数组元素进行排序。

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort();
输出结果 Apple,Banana,Mango,Orange

6.splice()插入、删除或替换数组元素。

语法 array.splice(index,howmany,item1,.....,itemX)

index 表示要操作数组的开始位置索引值,必填

howmany 表示要删除元素的个数 必须是数字  可以是0,如果没填就是删除从index 开始到数组的结尾

item1....   表示要添加到数组中的新值

var fruits = ["Banana", "Orange", "Apple", "Mango"];
var newarray = fruits.splice(2);
console.log(fruits)
console.log(newarray)
结果是
[ ‘Banana‘, ‘Orange‘ ]
[ ‘Apple‘, ‘Mango‘ ]

改变原数组  返回的是被删除的元素的数组集合

7.unshift()在数组头部插入元素。

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.unshift("Lemon","Pineapple");
fruits 将输出:

Lemon,Pineapple,Banana,Orange,Apple,Mango

上面7个分别是 添加元素   push unshift    移除元素  pop  shift   颠倒顺序  reverse   删除元素  splice   元素排序  sort

8.forEach  map  filter 等遍历数组的情况下 ,在遍历中区修改原数组

这里需要注意的是  在遍历中修改元素值的时候 有两种情况  一个是元素值是基本数据类型的   还有一种情况是元素值是引用数据类型的值

第一种情况下 直接去修改基本数据类型的值 是不会改变原数组的,需要借助 index  来实现改变

let arr = [1,3,5,7,9];
                arr.forEach(function(item,index,arr){
                    arr[index] = 30;
                })
                console.log(arr); //输出 (5) [30, 30, 30, 30, 30]

第二种情况的时候

var fruits = [
  {
    name:‘aaa‘,
    id: 1
  },
  {
    name:‘bbb‘,
    id:2
  }
];

fruits.map(item => {
  if (item.id === 1){
    item.name = ‘Banana----new‘
  }
})

console.log(fruits)

原文地址:https://www.cnblogs.com/buxiugangzi/p/12078993.html

时间: 2024-10-10 09:21:04

数组中的方法-- 会改变原数组的的相关文章

数组中的方法 --- 不改变原数组的方法

1.concat()把元素衔接到数组中. concat() 方法用于连接两个或多个数组. 该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本. 2.every() 方法使用指定函数检测数组中的所有元素: 如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测. 如果所有元素都满足条件,则返回 true 3.filter()返回满足断言函数的数组元素. 4.forEach()为数组的每一个元素调用指定函数. 5indexOf()在数组中查找指定元素. 

数组方法总结---改变原数组和不改变数组

<script>先来看看基础 // 1 数组定义方法 new Array 或 字面量 var arr = new Array() var arr1 = [1, 2, 3, 4, 5, 6] </script> 需要注意的是 new Array()创建的数组只有一位的时候,第一位代表的数组长度,而不是第一位的值,而且不能为小数 接下来是数组方法:可以先分为两类  改变原数组和不改变原数组 改变原数组:push() 用于在数组的末端添加一个或多个元素,并返回添加新元素后的数组长度 //

是否改变原数组的常用方法归纳

改变原数组: 1.pop()  删除数组最后一个元素,如果数组为空,则不改变数组,返回undefined,改变原数组,返回被删除的元素 2.push()   向数组末尾添加一个或多个元素,改变原数组,返回新数组的长度 3.reverse()   颠倒数组中元素的顺序,改变原数组,返回该数组 4.shift()   把数组的第一个元素删除,若空数组,不进行任何操作,返回undefined,改变原数组,返回第一个元素的值 5.sort()   对数组元素进行排序,改变原数组,返回该数组 6.spli

js中改变原数组的方法以及解决改变原数组的方法

改变原数组的方法 pop():删除数组最后一个元素,并返回该元素 push():在数组尾部添加元素,并返回更新后的数组长度 shift():删除数组的第一个元素,并返回该元素 unshift():在数组第一位添加元素,并返回更新后的数组长度 sort():对数组排序(按字符ASCII进行排序),也可添加回调函数按照想要的规则排序 reverse():数组反转 splice(index, howmany, 新数据):返回被删除元素所组成的数组. 解决改变原数组的方法 背景:需要一个和原数组相等的数

task 2:移出数组arr中与2相等的元素,并生成一个新数组,不改变原数组。

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>移出数组arr中与2相等的元素,并生成一个新数组,不改变原数组.</title> </head> <body> <script> var arr = [1,2,3,4,2,5,6,2,7,2]; var str4 = arr.slice(1,2); var st

动态数组,数组初始化,数组内存释放,向数组中添加一个元素,向数组中添加多个元素,数组打印,顺序查找,二分查找,查找数组并返回地址,冒泡排序,改变数组中某个元素的值,删除一个数值,删除所有,查找含有

 1定义接口: Num.h #ifndef_NUM_H_ #define_NUM_H_ #include<stdio.h> #include<stdlib.h> /************************************************************************/ /*数组的结构体类型                                                    */ /*******************

利用索引数组排序 不改变原数组值的位置

1.定义一个和要排序数组a[10]长度一样的数组, 这里定义为10,index[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9},值为10个下标. 2. 用冒泡排序,索引值代替小下标即可 #include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) { int a[10] = {4, 2, 1, 6, 7, 9, 0, 3, 5, 8}; int index[10] = {0, 1, 2, 3, 4, 5, 6

如何将一个数组中的元素插入另一个数组

如何将一个数组中的元素插入另一个数组:本章节直接给出一段将一个数组中元素插入另一个数组中的代码实例,直接套用就可以了.代码如下: var first = ['a','b','c']; var second = ['1','2','3']; var index = 1; second.unshift(index, 0); Array.prototype.splice.apply(first, second); 原文地址是:http://www.softwhy.com/forum.php?mod=v

将两个排好序的数组,合并到另外一个数组中,并且合并之后的数组也是有序的。

int a[3] = {12, 15, 17}; int b[4] = { 2, 8, 16, 22}; int c[7] = {0}; int i = 0, j = 0, k = 0; while (i < 3 && j < 4 ) { if (a[i] > b[j]) { c[k++] = b[j++]; } else { c[k++] = a[i++]; } } while (i < 3) { c[k++] = a[i++]; } while (j <