Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Object.fromEntries的替代项?_Javascript_Typescript_Object - Fatal编程技术网

Javascript Object.fromEntries的替代项?

Javascript Object.fromEntries的替代项?,javascript,typescript,object,Javascript,Typescript,Object,我收到一个对象,如下所示: this.data = { O: { id: 0, name: value1, organization: organization1, ..., }, 1: { id: 1, name: value1, organization: organization1, ..., }, 2: {

我收到一个
对象
,如下所示:

this.data = {
    O: {
        id: 0,
        name: value1,
        organization: organization1,
        ...,
       },
    1: {
        id: 1,
        name: value1,
        organization: organization1,
        ...,
        },
    2: {
        id: 2,
        name: value2,
        organization: organization2,
        ...,
        },
    ...
   } 
然后,我按
id
进行筛选,并删除
对象,该对象
id
与我从商店收到的
id
匹配,如下所示:

  filterOutDeleted(ids: any[], data: object,) {
    const remainingItems = Object.fromEntries(Object.entries(data)
      .filter(([, item]) => !ids.some(id => id === item.id)));

    const rows = Object.keys(remainingItems).map((item) => remainingItems[item]);
    return rows;
  }

不幸的是,我在生成声明类型“ObjectConstructor”上不存在
属性“fromEntries”时出错,此时我无法在
tsconfig
文件中进行更改。对于这种情况,
fromEntries
是否有替代方案?非常感谢您的帮助

改为在外部创建对象,对于通过测试的每个条目,手动将其分配给对象

还请注意,您可以通过提前构造一组
id
来降低计算复杂度:

const filterOutDeleted = (ids: any[], data: object) => {
  const idsSet = new Set(ids);
  const newObj = {};
  for (const [key, val] of Object.entries(data)) {
    if (!idsSet.has(val.id)) {
      newObj[key] = val;
    }
  }
  return newObj;
};