如何根据键过滤对象并将对象数组转换为打字稿中的另一种对象

时间:2020-11-04 07:55:17

标签: javascript arrays angular typescript

我有一个问题,我需要根据键过滤对象数组中存在的所有对象,并且需要将这些对象数组转换为另一种对象

我已经尝试过这种方式...

<?php
global $wpdb;
$result = $wpdb->get_results( "SELECT name FROM student_reg");
foreach ($result as $row){
    echo "<select name='name'>";
    echo "<option value='" . $row->name . "'>" . $row->name . "</option>";
    echo "</select>";
}
?>

但是它不起作用! 请帮忙!

1 个答案:

答案 0 :(得分:0)

values将自动将类型作为map函数返回的值的数组。因此,在大多数情况下,您无需显式定义类型。

例如,请参阅以下内容

let user: Record<string, string> = {
    name: 'Tony Stark',
    pet: 'Jarvis'
}

type X = {
    key: string,
    value: string
}

const values = Object.keys(user).map(([k, v]): X => ({'key': k, 'value': v}));
// values: Array<X>

在这种情况下,您的map函数不需要显式声明类型。仍然下面的内容也可以

const values = Object.keys(user).map(([k, v]) => ({'key': k, 'value': v}));

简而言之,只需声明将要考虑的mapper函数的返回类型即可。