当前位置: 首页 > 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/a/161213.html

相关文章:

  • 【ubuntu】单进程申请4GB内存
  • docker基础:搭建centos7(详见B站泷羽sec)
  • html+js+css实现拖拽式便签留言
  • Android HandlerThread 基础
  • 使用Python实现智能食品营养分析的深度学习模型
  • ESLint 使用教程(四):ESLint 有哪些执行时机?
  • 【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.从二叉搜索树到更大和树【中等】