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

js取出对象数组某个属性拼接成字符串或者取出某些属性组成新的数组

数组users:

users=[{id:1,name:张三},{id:2,name:李四}]

现在需要把数组里所有的 id、name 取出,拼接成一个以逗号分隔的字符串,直接上代码

let userIds = users.map((user) => {
        return user.id
      }).join(',')
 
console.log('userIds:',userIds)
 
let userNames = users.map((user) => {
        return user.name
      }).join(',')
 
console.log('userNames:',userNames)

输出结果:

userIds:1,2

userNames:张三,李四

js取出对象数组某些属性组成新的数组

例如下面一个数组,一个数组里包含多个对象,想取多个对象的单独几个属性,例如我只想要下列对象里的date和name值,address不需要

 tableData: [{
          date: '2016-05-02',
          name: '王小虎',
          address: '上海市普陀区金沙江路 1518 弄'
        }, {
          date: '2016-05-04',
          name: '王小虎',
          address: '上海市普陀区金沙江路 1517 弄'
        }, {
          date: '2016-05-01',
          name: '王小虎',
          address: '上海市普陀区金沙江路 1519 弄'
        }, {
          date: '2016-05-03',
          name: '王小虎',
          address: '上海市普陀区金沙江路 1516 弄'
        }]

如果用or循环包括forEach,map循环是取不出来单独想要的属性,需要借助Object.assign方法
最简单的解决办法如下:

  let arr = this.tableData.map((item) => {
        return Object.assign({}, { date: item.date, name: item.name})
      })
      console.log(arr);

Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象分配到目标对象。它将返回目标对象。
如果目标对象中的属性具有相同的键,则属性将被源对象中的属性覆盖。后面的源对象的属性将类似地覆盖前面的源对象的属性。


http://www.kler.cn/news/161213.html

相关文章:

  • 【C/PTA】结构体进阶练习
  • 将图像增广应用于Mnist数据集
  • scp 指令详细介绍
  • activemq启动成功但web管理页面却无法访问
  • 多人聊天Java
  • 【前端架构】清洁前端架构
  • ubuntu22.04设置国内源
  • JAVA 企业面试题
  • inBuilder低代码平台新特性推荐-第十五期
  • Shopify 开源 WebAssembly 工具链 Ruvy
  • C++STL的string类(一)
  • mysql的几种索引
  • 在数字化转型大时代下,企业进行知识管理的重要性
  • 腾讯云轻量应用服务器怎么安装宝塔Linux面板?
  • js vue form表单层级过深,层级太深了,form检测不到form的变化
  • 关于FBPINN的讨论
  • 南京大学考研机试题DP
  • 【文末送书】Python OpenCV从入门到精通
  • Abaqus基础教程--胶合失效仿真
  • Leetcode—1038.从二叉搜索树到更大和树【中等】
  • MySQL 数据库如何实现 XA 规范?
  • 【重磅来袭!!!工程师必备初始化建工程软件】
  • Java常见算法和lambda
  • 一个小问题
  • 人工智能企业引入S-SDLC,推动安全能力大跃升,保障AI技术体系深化落地
  • 每日OJ题_算法_双指针③_力扣202. 快乐数
  • 基于YOLOv8深度学习的火焰烟雾检测系统【python源码+Pyqt5界面+数据集+训练代码】目标检测、深度学习实战
  • almaLinux centos8 下载ffmpeg离线安装包、离线安装
  • XUbuntu22.04之OBS30.0设置录制音频降噪(一百九十六)
  • Ubuntu systemd-analyze命令(系统启动性能分析工具:分析系统启动时间,找出可能导致启动缓慢的原因)