JavaScript-数组(new Array)

创建数组的俩种方式:
1、利用数组字面量

var arr = [1, 2, 3];
console.log(arr);    //输出结果为1,2,3

2、利用new Array()

var arr1 = new Array(); //创建了一个空的数组
var arr2 = new Array(2); //里面的2表示数组的长度为2,输出结果我2个空的数组元素
var arr3 = new Array(2, 3); //等价于[2,3]表示里面有2个数组元素为2,3

检测是否为数组
(1)instanceof 运算符,用来检测是否为数组

var arr = [];
var obj = {};
console.log(arr instanceof Array); //true
console.log(obj instanceof Array); //false

(2)Array.isArray(参数);H5新增的方法,ie9以上版本支持

var arr = [];
var obj = {};
console.log(Array.isArray(arr)); //true
console.log(Array.isArray(obj)); //false

添加删除数组元素的方法

方法名说明返回值
push(参数1...)末尾添加一个或多个元素,注意修改原数组返回新的长度
pop()删除数组最后一个元素,把数组长度减1 无参数、修改原数组返回它删除的元素的值
unshift(参数1....)向数组的开头添加一个或更多元素,注意修改原数组返回新的长度
shift()删除数组的第一个元素,数组长度减1,无参数、修改原数组返回第一个元素的值
1、push()在数组的末尾,添加一个或者多个数组元素 ``` var arr = [1, 2, 3]; arr.push(4); console.log(arr); console.log(arr.push(4,'你好')); //输出结果为5数组的长度 ``` ● push是可以给数组追加新的元素 ● push()参数直接写数组元素即可 ● push完毕之后,返回的结果是新数组的长度 ● 原数组也会发生变化 2、unshift 在数组的开头 添加一个或者多个元素
var arr = [1, 2, 3];
arr.unshift(4)
 console.log(arr); //输出结果为4,1,2,3
 console.log(arr.unshift('red', 'purple')); //输出结果为6

● unshif给数组前面追加新的元素
● unshift()参数直接写数组元素即可
● unshift完毕之后,返回的结果是新数组的长度
● 原数组也会发生变化
3、pop()可以删除数组的最后一个元素

 var arr = [1, 2, 3, 4];
arr.pop();
console.log(arr); //输出结果为1,2,3
console.log(arr.pop()); //输出结果为3

● pop()删除数组的最后一个元素,注意:一次只能删除一个元素
● pop()没有参数
● pop()完毕之后,返回的结果是删除的那个元素
● 原数组也会发生变化
4、shift()删除数组的第一个元素

 var arr = [1, 2, 3, 4];
arr.shift();
console.log(arr); //输出结果为2,3,4
console.log(arr.shift()); //输出结果为2

● shift()可以删除数组的第一个元素,一次只能删除一个元素
● shift()没有参数
● shift()完毕之后,返回的结果是删除的那个元素
● 原数组也会发生变化
小案例
数组去重

//数组去重
var arr = [0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 5];
var newArr = [];
for (var i = 0; i <= arr.length; i++) {
    if (arr[i] != arr[i + 1]) {
        newArr.push(arr[i])
    }
}
console.log(newArr);

数组排序

方法名说明是否修改原数组
reverse()颠倒数组中元素的顺序,无参数该方法会改变原来的数组,返回新数组
sort()对数组的元素进行排序该方法会改变原来的数组,返回新数组

reverse翻转数组

<script>
var arr = [1, 2, 3, 4, 5, 6];
 arr.reverse();
 console.log(arr);    //输出结果为6,5,4,3,2,1
</script>

sort()数组排序(冒泡排序)

<script>
var arr1 = [6, 9, 8, 7, 4, 2, 3, 6, 5, 4];
arr1.sort();
console.log(arr1);   //输出结果[2, 3, 4, 4, 5, 6, 6, 7, 8, 9]
var arr2 = [13, 4, 77, 1, 7];
arr2.sort(function(a, b) {
    return a - b; //升序的顺序排列
    // return b - a; //降序的顺序排列
})
console.log(arr2);
</script>

数组索引方法

方法名说明返回值
indexOf()数组中查找给定元素的第一个索引如果存在返回索引号,如果不存在,则返回-1
lastIndexOf()在数组中的最后一个的索引如果存在则返回索引号,如不存在,则返回-1
var arr = ['red', 'green', 'blue', 'pink', 'blue']
console.log(arr.indexOf('blue')); //2
 console.log(arr.lastIndexOf('blue')) //4

案例:数组去重

<script>
function unique(arr) {
         var newArr = [];
         for (var i = 0; i < arr.length; i++) {
             if (newArr.indexOf(arr[i]) === -1) {
                 newArr.push(arr[i])

             }
         }
         return newArr;
     }
     console.log(unique([1, 1, 2, 2, 3, 3, 4, 4, 5, 6, 6]));
 </script>

数组转换为字符串

//tostring
 var arr = [1, 2, 3]
 console.log(arr.toString());  //输出结果为黑色1,2,3
 //join(分隔符)
 var arr1 = [1, 2, 3]
 console.log(arr.join('-'))   //输出结果为1-2-3
  • 16
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
JavaScript数组是一种数据结构,它可以用来存储一组数据。数组可以包含任意类型的元素,包括字符串、数字、布尔值等。创建数组的方式有多种,可以使用`new Array()`语法、`new Array(长度)`语法、数组字面量`[]`以及数组字面量`[数据]`。在数组中,可以使用下标来访问和赋值元素。数组的下标是从0开始递增的,可以通过`数组名[下标值]`的方式来获取指定下标的元素。 下面是一些关于JavaScript数组的基本操作: 1. 创建数组:可以使用`new Array()`语法、`new Array(长度)`语法,或者使用数组字面量`[]`来创建一个空数组或带有初始值的数组。 2. 访问数组元素:可以使用下标值来获取数组中指定下标的元素,例如`数组名[下标值]`。 3. 赋值数组元素:可以通过下标值来给数组中指定下标的元素赋值,例如`数组名[下标值] = 数据`。 4. 数组的长度:可以使用`数组名.length`来获取数组的长度,即数组中元素的个数。 5. 删除数组元素:可以使用`delete`关键字来删除数组中指定下标的元素,例如`delete 数组名[下标值]`。 综上所述,JavaScript数组是一种非常常用的数据结构,它可以按照下标值来访问和赋值元素,并提供了丰富的方法和属性来操作和管理数组中的数据。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [JavaScript基础——数组](https://blog.csdn.net/weixin_44757417/article/details/107401355)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [【JavaScript】1.JavaScript数组](https://blog.csdn.net/weixin_46293452/article/details/130000584)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值