吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 859|回复: 4
收起左侧

[讨论] JS,对象值转数组的方法

[复制链接]
cqwcns 发表于 2022-10-15 22:57
我的需求是将对象的全部值,转数组,即不要key了,具体见代码。
我通过for in已经实现了需求。
但感觉这样写很冗余,不优雅。
我不知道对象是否可以使用map等方式实现这个需求。


怎样写最简洁?
请各位大佬交流、指正,感谢。

[HTML] 纯文本查看 复制代码
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>

        // 需求是将对象的全部值转为数组,即不要key了。

        const obj = {
            name: '唐伯虎',
            age: '17',
            phone: '168'
        },
            arr = [];
        for (let key in obj) {
            arr.push(obj[key])
        }

        console.log('arr', arr)
        // ['唐伯虎', '17', '168']

    </script>
</body>

</html>

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
为之奈何? + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

linguo2625469 发表于 2022-10-15 23:06
使用Object.values 即可
[JavaScript] 纯文本查看 复制代码
const obj1 = { foo: 'bar', baz: 42 }
console.log(Object.values(obj1)) // ['bar', 42]
 
const obj2 = { 0: 'a', 1: 'b', 2: 'c' }
console.log(Object.values(obj2)) // ['a', 'b', 'c']
侠骨留香喵 发表于 2022-10-15 23:12
Object.values() 方法返回一个给定对象自身的所有可枚举属性值的数组,值的顺序与使用 for...in 循环的顺序相同(区别在于 for-in 循环枚举原型链中的属性)。来自MDN
Takitooru 发表于 2022-10-15 23:35
本帖最后由 Takitooru 于 2022-10-15 23:37 编辑

map方法

const obj = {
            name: '唐伯虎',
            age: '17',
            phone: '168'
        }
//方式1
console.log( Object.keys(obj).map(function(index, item) { return obj[index] }) );
//['唐伯虎', '17', '168']
//方式2
console.log( Object.keys(obj).map(function(i) { return obj[i] }) );
//['唐伯虎', '17', '168']
yqesl1 发表于 2022-10-16 06:12
map就可以了 ,唐伯虎才168不相信,至少186吧,单位cm
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 04:17

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表