当前位置: 首页 > news >正文

JS语法笔记

目录

  • JS数组Array
    • 新建数组
      • 一维数组
      • 二维数组
    • reverse()
    • 在数组末尾插入:push()
    • 在数组末尾删除:pop()
    • 在数组开头插入:unshift()
    • splice()
  • Map
  • Set

JS数组Array

判断数组相等不能用===,要循环判断

新建数组

一维数组

  1. 用数组字面量 []:const arr2 = [1, 2, 3];
  2. 用 new Array() 构造函数:const arr3 = new Array(1, 2, 3);

二维数组

const rows = 3, cols = 4;
const matrix = Array.from({ length: rows }, () => Array(cols).fill(0));
console.log(matrix);
// [
//   [0, 0, 0, 0],
//   [0, 0, 0, 0],
//   [0, 0, 0, 0]
// ]

reverse()

reverse() 是数组(Array)的方法,用于反转数组的顺序

const arr = [1, 2, 3, 4];
const reversed = arr.reverse();console.log(reversed); // [4, 3, 2, 1]
console.log(arr);      // [4, 3, 2, 1] —— 原数组也变了

在数组末尾插入:push()

const arr = [1, 2, 3];
arr.push(4);
console.log(arr); // [1, 2, 3, 4]

在数组末尾删除:pop()

const arr = [1, 2, 3];
arr.pop();
console.log(arr); // [1, 2]

在数组开头插入:unshift()

const arr = [1, 2, 3];
arr.unshift(0);
console.log(arr); // [0, 1, 2, 3]

splice()

array.splice(start, deleteCount, item1, item2, …)
start: 插入的起始位置索引
deleteCount: 删除元素个数(0 表示不删除)
item1, item2…: 要插入的元素

const arr = [1, 2, 3];
arr.splice(1, 0, 'a'); // 在索引1处插入'a'
console.log(arr); // [1, 'a', 2, 3]

Map

//创建Map
const map = new Map();
//添加元素
map.set('name', 'Alice');
map.set('age', 25);
//读取元素
map.get('name'); // "Alice"
//判断是否存在键
map.has('age'); // true
//删除键
map.delete('name'); // true

遍历

for (const [key, value] of map) {console.log(`${key} = ${value}`);
}

也可以从二维数组初始化

const map2 = new Map([['x', 10],['y', 20]
]);

Set

//创建set
const mySet = new Set();
//添加元素
mySet.add(1);
mySet.add(2);
console.log(mySet); // Set(2) { 1, 2 }
//判断是否存在
set.has(1);
//删除元素
set.delete(2);

遍历set

for (const value of set) {console.log(value);
}

初始化 Set(自动去重)

const set2 = new Set([1, 2, 2, 3]); // Set(3) {1, 2, 3}
http://www.xdnf.cn/news/791857.html

相关文章:

  • PyTorch——非线性激活(5)
  • Linux系统下Google浏览器无法使用中文输入的临时解决方案
  • AIGC学习笔记(9)——AI大模型开发工程师
  • OD 算法题 B卷【代码编辑器】
  • 第十一章 注解
  • AI数据集构建:从爬虫到标注的全流程指南
  • 使用ArcPy生成地图系列
  • 0518蚂蚁暑期实习上机考试题3:小红的字符串构造
  • 如何爬取google应用商店的应用分类呢?
  • Java-redis实现限时在线秒杀功能
  • 【RAG最新总结】检索增强生成最新进展2024-2025
  • 解决FreePBX 17初始配置时网页无响应
  • CCF CSP 第37次(2025.03)(3_模板展开_C++)(哈希表+stringstream)
  • 【AI学习从零至壹】基于深度学习的⽂本分类任务
  • C++算法训练营 Day6 哈希表(1)
  • 《仿盒马》app开发技术分享-- 个人中心关于逻辑完善(端云一体)
  • Java 文件操作 和 IO(5)-- 综合案例练习 -- 示例三
  • 移动端测试岗位高频面试题及解析
  • 左值引用和右值引用
  • 【C++篇】STL适配器(下篇):优先级队列与反向迭代器的底层奥秘
  • Splitting Items
  • torch.nn中的各种组件
  • element级联地址选择器
  • java类的生命周期
  • Make All Equal
  • 2.2.2 06年T3
  • LeetCode 152. 乘积最大子数组 - 动态规划解法详解
  • 集成学习三种框架
  • C++中的指针参数传递与引用参数传递详解
  • 5985/wsman 是什么?