在数组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_off
、pre2_day_off
或pre3_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
函数将所有的键值(即值)合并到一个数组中。最后,返回一个只包含这些值的新数组。如果有多个键值,这个新数组将包含所有的值。
@漏刻有时