js学习3(数组)

目录

数组操作结构图

数组操作

每日一练

数组操作结构图

数组操作

### 前言

(1) 数组中可以存储任何类型元素;

(2) 以下的回调函数(callback)的参数(除了reduce和reduceRight),callback(value,[index],[self]);

(3) 在这里仅对数组操作进行了分类,具体操作可以结合后面练习部分学习;


### 创建:
字面量([...])、创建对象(new Array(arr_len))


### 遍历:
循环遍历、forEach(callback)、map(callback)、filter(callback)、every(callback)、some(callback)、reduce(callback)、reduceRight(callback)


### 信息:
索引取值、length、valueOf()、indexOf(el,[start_index])、lastIndexOf(el,[start_index])


### 修改:
索引修改(字符串不可以)、push(*el)、pop()、shift(*el)、unshift()、splice(start_index,[num],[*new_el])、sort((a,b)=>a-b或a+b)、reverse()、slice(start_index,[end_index])


### 技巧:
join(sign_str)、concat(*arr)、toString()

### 解构赋值:

var arr = [1,2,3]

ver [a,b,c] = arr;

console.log(a,b,c);   // 1 2 3

### 扩展运算符

var arr1 = [1,2];

var arr2 = [3,4];

var concat_arr = [...arr1,...arr2];

console.log(concat_arr);   // [1,2,3,4]


### reduce用法(常见用来求总和)
reduce(callback(pre,now,index,self),[initial_value])
reduceRight(callback(pre,now,index,self),[initial_value])

每日一练

## 1.创建

let arr1 = ['a','name',123,{'a':1}];
let arr2 = [1,2,3,4];
let arr3 = new Array(5);

## 2.信息
let res0 = arr1.length;
let res1 = arr1.indexOf(123);
let res2 = arr1.lastIndexOf(123,-1);

## 3.遍历
for (var i;i<arr1.length;i++){
    console.log(arr1[i]);
}

for (var i;i<arr2.length;i++){
    arr2[i] += 10;
}

arr1.forEach(function(value,index,self){
    console.log(value,index,self);
})

let res3 = arr2.map(function(value,index,self){
    return {'value':1};
})

let res4 = arr2.filter(function(value){
    return value>2;
})

let res5 = arr2.every(function(value){
    return value<5;
})

let res6 = arr2.some(function(value){
    return value>2;
})

let res7 = arr2.reduce(function(prev,now,index,self){
    return prev+now;
},0)

let res8 = arr2.reduceRight(function(prev,now,index,self){
    return prev+now;
},100)


## 4.修改
arr2.push(1000);
arr2.shift(2000);
arr2.pop();
arr2.unshift();
arr2.splice(0,0,1000);
arr2.splice(arr1.length-1,0,2000);
arr2.splice(0,1,3000);
arr2.splice(arr1.length-1,1,4000);
arr2.splice(0,1);
arr2.splice(arr2.length,1);
arr2.reverse();
arr2.sort((a,b)=>b-a);
arr2.sort((a,b)=>a-b);

## 5.技巧
let res9 = arr1.join('----');
let res10 = arr1.concat(arr2,['end']);
let res11 = arr2.toString();


var a = [1,2,3,4,5]
var b = [2,4,6,8,10]
# 交集
var intersect = a.filter(function(v){ return b.indexOf(v) > -1 })
# 差集
var minus = a.filter(function(v){ return b.indexOf(v) == -1 })
# 补集
var complement = a.filter(function(v){ return !(b.indexOf(v) > -1) }).concat(b.filter(function(v){ return !(a.indexOf(v) > -1)}))
# 并集
var unionSet = a.concat(b.filter(function(v){ return !(a.indexOf(v) > -1)}));
# 总结:filter+indexOf(利用filter和indexOf的特性【filter筛选返回值为ture的元素,indexOf没找到返回-1】)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: JavaScript 数组是用来存储一组有序的值。数组可以存储任何类型的数据,包括数字、字符串和对象。数组的元素可以通过索引来访问。JavaScript 提供了很多内置的方法来操作数组,如 push()、pop()、shift()、unshift()、slice()、splice()、sort()、concat()等。 ### 回答2: JavaScript是一种面向对象的编程语言,在Web开发领域中广泛使用。作为JavaScript中最核心的数据结构,数组是一个非常重要的概念。在本篇JavaScript学习手册中,我们将详细介绍JS数组。 什么是JS数组JavaScript数组是一组值的有序列表。这些值可以是任何类型,例如字符串、数字、布尔值甚至是其他的数组。数据项可以随时添加到数组中,也可以从数组中移除。数组的长度是可变的,它们可以根据需求扩展或缩小。 在JavaScript中,数组的下标始终从0开始,这是一个重要的概念。因此,在数组中,第一个元素的索引是0,第二个元素的索引是1,以此类推。 JS数组的创建 有许多方法可以创建JavaScript数组。最简单的方法之一是使用数组字面量: var myArray = [1, "string", true]; 上述代码创建了一个名为myArray数组,并将数字1、字符串“string”和布尔值true添加到该数组中。 另一种常见的创建数组的方式是使用Array()构造函数。例如,以下代码将演示如何创建一个长度为5的数组: var myArray = new Array(5); JS数组的方法 JavaScript提供了许多有用的方法,可以帮助我们操作数组。下面列出了一些最常用的方法: 1. push()方法 - 该方法在数组的末尾添加一个或多个元素。 2. pop()方法 - 该方法从数组的末尾删除一个元素。 3. shift()方法 - 该方法从数组的开头删除一个元素。 4. unshift()方法 - 该方法在数组的开头添加一个或多个元素。 5. concat()方法 - 该方法将两个或多个数组连接为一个数组。 6. slice()方法 - 该方法返回数组的一个子集。 7. splice()方法 - 该方法添加、删除或替换数组中的元素。 JS数组的循环 对于任何类型的数据结构,循环是一种非常常见和强大的操作。下面是一些常用的JS数组循环方法: 1. for循环 - 这是最常用的数组循环方法,在循环中使用数组的长度属性来遍历数组中的元素。 2. forEach()方法 - 该方法对数组中的每个元素执行一个函数。 3. map()方法 - 该方法返回一个新数组,其元素是通过对原始数组中的每个元素应用函数来获得的。 总结 JavaScript数组是开发Web应用程序时必须要掌握的一个重要的概念。它们是用来存储和管理数据的一种强大工具,并且JavaScript为操作数组提供了许多有用的方法和循环。在您学习JavaScript时,建议您花费足够的时间来熟悉JS数组及其相关的方法和循环。 ### 回答3: JavaScript数组是一种非常有用的数据类型,它可以存储多个值并按照特定的方式进行操作。在JavaScript中,数组可以包含任何类型的数据,包括字符串,数字,对象和函数。数组是一种非常强大的工具,可以帮助我们更有效地管理和操作数据。 JavaScript数组的基础知识包括数组的创建,访问和修改数组元素。我们可以使用数组字面量来创建一个数组,并可以使用索引号访问和修改数组中的元素。数组的索引是从零开始的,所以第一个元素的索引号为0,第二个为1,以此类推。 除了基本的数组操作之外,JavaScript数组还支持许多高级操作,例如排序,添加和删除元素,筛选和映射数组等。我们可以使用内置的数组方法和属性来执行这些操作。其中一些常用的方法包括push,pop,shift,unshift,slice,splice等。 当处理大量数据时,JavaScript数组的性能问题可能会成为一个问题。为了解决这个问题,我们可以使用更高效的数据结构,例如哈希表和二叉树。但在大多数情况下,JavaScript数组足以应对大多数应用程序的需求。 总之,JavaScript数组是一个非常有用的数据类型,它可以帮助我们有效地管理和操作数据。通过学习并掌握JavaScript数组的常用方法和属性,我们可以使我们的代码更加优雅和优化。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值