javascript - javascript中的数组过滤数据
问题描述
我有使用 javascript 和 lodash 的工作数组过滤器。我想将数组数组转换为单个数组。任何人都可以告诉单个数组中的转换。
输入数据
const inputData = [
[
{ 'Tempe(C)': 12 },
{ 'Tempe(C)': 13 },
{ 'Tempe(C)': 14 },
{ 'Tempe(C)': 15 }
],
[
{ 'Tempe(C)': 22 },
{ 'Tempe(C)': 23 },
{ 'Tempe(C)': 24 },
{ 'Tempe(C)': 25 }
],
[
{ 'Tempe(C)': 32 },
{ 'Tempe(C)': 33 },
{ 'Tempe(C)': 34 },
{ 'Tempe(C)': 35 }
],
];
我想要这种输出结构
const outputData = [
[12, 13, 14, 15],
[22, 23, 24, 25],
[32, 33, 34, 35],
];
解决方案
你可以使用Object.values
和map
const inputData = [[{"Tempe(C)":12},{"Tempe(C)":13},{"Tempe(C)":14},{"Tempe(C)":15}],[{"Tempe(C)":22},{"Tempe(C)":23},{"Tempe(C)":24},{"Tempe(C)":25}],[{"Tempe(C)":32},{"Tempe(C)":33},{"Tempe(C)":34},{"Tempe(C)":35}]];
const output = inputData.map(arr => arr.map(a => Object.values(a)[0]))
console.log(output)
如果flat
您的浏览器支持:
const inputData = [[{"Tempe(C)":12},{"Tempe(C)":13},{"Tempe(C)":14},{"Tempe(C)":15}],[{"Tempe(C)":22},{"Tempe(C)":23},{"Tempe(C)":24},{"Tempe(C)":25}],[{"Tempe(C)":32},{"Tempe(C)":33},{"Tempe(C)":34},{"Tempe(C)":35}]]
const output = inputData.map(arr => arr.map(Object.values).flat())
console.log(output)
(这适用于任何键。如果键总是Tempe(C)
,@eol 的答案是一个更好的选择)
推荐阅读
- python - Python 正则表达式不捕获单个字符串
- python - 使用 tkinter 在 Python-3.7.4 上的文本编辑器
- mulesoft - 在 Mulesoft 中如何在 ActiveMQ 尝试重新连接时停止 SFTP 连接器以读取文件
- elasticsearch - 卷曲“(6)无法解析主机:http”
- bitwise-operators - 按位移位和 AND 操作的顺序是否重要
- javascript - 根据多个属性条件对对象数组进行排序
- python - 我无法理解 np.where 结果函数
- sql - 如何在 Rails 的 jsonb 中找到哈希键?
- python - 如果pyqt5的ComboBox中有项目,如何启用按钮?
- reactjs - 我无法使用提供的说明创建反应应用程序