javascript二维数组(19)不要键名只保留值的算法

在数组var a=[

{pre1_day_off:1},

{pre2_day_off:2},

{pre3_day_off:3}

]中,如果去除键名只保留值,形成1,2,3这样的数组格式

在JavaScript中,你可以通过使用Array.prototype.map函数来实现这个目标。map函数遍历数组的每个元素,然后调用你提供的函数,返回一个新的数组。

在这个例子中,你可以使用以下代码:

javascript 复制代码
var a = [
    {pre1_day_off:1},
    {pre2_day_off:2},
    {pre3_day_off:3}
];

var result = a.map(function(item) {
    return item.pre1_day_off || item.pre2_day_off || item.pre3_day_off;
});

console.log(result);  // 输出:[1, 2, 3]

这段代码将遍历a数组中的每个元素,并返回该元素的pre1_day_offpre2_day_offpre3_day_off属性的值。如果这些属性不存在或者值为undefined,那么将返回undefined。最终,这段代码将创建一个新的数组,其中包含了所有这些值。

如果你确定这些对象只包含这些属性,并且这些属性的值都是数字,那么你可以简化这个函数,直接返回第一个非undefined的值:

javascript 复制代码
var result = a.map(function(item) {
    for (var key in item) {
        if (item[key] !== undefined) {
            return item[key];
        }
    }
    return undefined;
});

在数组var a=[

{pre1_day_off:1},

{pre2_day_off:2},

{pre3_day_off:3}

]中,如果去除键值,只保留值,如果有多个键值,如何形成1,2,3...N这样的数组格式

在JavaScript中,你可以通过使用Array.prototype.map函数和Object.values函数达到你的目标。map函数可以遍历数组的每个元素,然后调用你提供的函数,返回一个新的数组。Object.values函数则可以获取对象的所有值。

下面是一个具体的例子:

javascript 复制代码
var a = [
    {pre1_day_off:1},
    {pre2_day_off:2},
    {pre3_day_off:3}
];

var result = a.map(function(item) {
    return Object.values(item).reduce((acc, cur) => acc.concat(cur),);
});

console.log(result);  // 输出:[1, 2, 3]

这段代码将遍历a数组中的每个元素,并获取每个对象的所有值(即对象的键值)。然后,使用reduce函数将所有的键值(即值)合并到一个数组中。最后,返回一个只包含这些值的新数组。如果有多个键值,这个新数组将包含所有的值。


@漏刻有时

相关推荐
无限进步_2 分钟前
Linux进程等待——wait、waitpid与僵尸进程
linux·运维·服务器·开发语言
海梨花2 分钟前
字节面试高频算法题
java·算法·面试·职场和发展
野生技术架构师4 分钟前
Java 23 种设计模式:从踩坑到精通 —— 开篇及系列介绍
java·开发语言·设计模式
Wang ruoxi5 分钟前
Pygame 小游戏——数独
开发语言·python·pygame
aqiu1111119 分钟前
python02
算法
瓦特what?9 分钟前
位运算核心技巧与应用
java·jvm·算法
无限码力9 分钟前
阿里算法岗 0530笔试真题 - 荆棘林的最优砍断计划
算法·阿里笔试真题·阿里机试真题·阿里算法岗笔试真题·阿里巴巴笔试真题
人道领域11 分钟前
【LeetCode刷题日记】90.子集Ⅱ--- 归纳题解
java·开发语言·leetcode
云水一下12 分钟前
TypeScript 从零基础到精通(七):从配置到全栈项目落地
前端·javascript·typescript
随意起个昵称12 分钟前
线性dp-LIS题目5(导弹拦截,二分优化)
c++·算法·动态规划