【无标题】

nodejs基础扫盲

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


前言

纯纯为了以后自己回忆方便。各位网友不要看,对你们没有任何帮助。


列表

javascript 复制代码
一般来说列表可以是[{},{},{}],{}是字典,也就是json

nodejs读取数据的结果就是 [{},{},{}]这种形式。

那要怎么读取这种数据呢?

javascript 复制代码
const array = [{}, {}, {}];
array.forEach(item => {
  console.log(item);
});

for (const a of array) {
    console.log(a)
}

const array = [{}, {}, {}];
for (const index in array) {
    console.log(array[index]);
}

const array = [1, 2, 3];
const newArray = array.map(item => item * 2);
console.log(newArray); // 输出: [2, 4, 6]

过滤数组

假设你有一个数组,你想根据某些条件过滤出符合条件的元素:

javascript 复制代码
const array = [{ id: 1, name: 'Alice' }, { id: 2, name: 'Bob' }, { id: 3, name: 'Charlie' }];

// 过滤出名字是'Bob'的元素
const filteredArray = array.filter(item => item.name === 'Bob');

console.log(filteredArray); // 输出: [{ id: 2, name: 'Bob' }]

对象

javascript 复制代码
一般来说列表可以是{x: {}, x1: {}},{}是字典,也就是json

对于 {x: {}, x1: {}},可以用 for...in 遍历属性:

javascript 复制代码
const obj = {x: {}, x1: {}};
for (const key in obj) {
  console.log(key, obj[key]);
}

Object.keys(obj).forEach(key => {
    console.log(key, obj[key]);
});

过滤对象

对象本身不支持直接过滤,但我们可以将对象转换为数组、过滤,然后再转换回对象。假设有一个对象,当我们想根据某些条件过滤出符合条件的键值对:

javascript 复制代码
const obj = { x: { age: 25 }, y: { age: 30 }, z: { age: 18 } };

// 过滤出年龄大于20的键值对
const filteredEntries = Object.entries(obj).filter(([key, value]) => value.age > 20);
// Object.entries() 返回一个数组,每个元素是一个 [key, value] 对。
// 转换回对象
const filteredObj = Object.fromEntries(filteredEntries);

console.log(filteredObj); // 输出: { x: { age: 25 }, y: { age: 30 } }

总结

  • 数组:使用 filter 方法。
  • 对象:将对象转换为数组 (Object.entries),过滤,然后转换回对象(Object.fromEntries)。
相关推荐
吾疾唯君医18 分钟前
记录GoLang创建文件并写入文件的中文乱码错误!
开发语言·后端·golang
小年糕是糕手38 分钟前
【数据结构】算法复杂度
c语言·开发语言·数据结构·学习·算法·leetcode·排序算法
JAVA学习通1 小时前
微服务项目->在线oj系统(Java-Spring)--C端用户(超详细)
java·开发语言·spring
数据知道1 小时前
Go基础:Go语言ORM框架GORM详解
开发语言·jvm·后端·golang·go语言
计算机毕业设计小帅1 小时前
【2026计算机毕业设计】基于jsp的毕业论文管理系统
java·开发语言·毕业设计·课程设计
明天会有多晴朗1 小时前
深度剖析 C++ 之内存管理篇
c语言·开发语言·c++
potato_may1 小时前
C语言第3讲:分支和循环(上)—— 程序的“决策”与“重复”之旅
c语言·开发语言
铅笔侠_小龙虾1 小时前
动手实现简单Vue.js ,探索Vue原理
前端·javascript·vue.js
kalvin_y_liu1 小时前
【MES架构师与C#高级工程师(设备控制方向)两大职业路径的技术】
开发语言·职场和发展·c#·mes
xxxxxxllllllshi2 小时前
Java 代理模式深度解析:从静态到动态,从原理到实战
java·开发语言·笔记·算法·代理模式