标签: ecmascript-5

如何从嵌套的对象数组中删除对象属性?

我试图在数组不起作用时从数组中的每个对象中删除这两个属性。每个对象都位于一个数组内。我的意思是主数组包含对象数组。有没有一种简单的方法可以解决这个问题,而无需使用map()两次?在这种情况下如何返回主修改数组?

const modifiedItems = this.items.map(item => {
   delete item.created,
   delete item.removed
   return item
})
Run Code Online (Sandbox Code Playgroud)

数据如下:

this.items = [
  [{ removed: 1, created: 1, a:2, b: 2, c: 3}]
  [{ removed: 1, created: 1, a:2, b: 2, c: 3}, { removed: 1, created: 1, a:2, b: 2, c: 3},]
];
Run Code Online (Sandbox Code Playgroud)

上面的代码不起作用,因为它没有映射到主数组内的数组。如何最好地从主数组中所有数组的每个对象中删除这些属性?

javascript arrays javascript-objects ecmascript-5 ecmascript-6

0
推荐指数
1
解决办法
2098
查看次数

Typescript 以简单的方式查找两个对象数组之间的差异

我有一个如下所示的数组对象

allRoles = 
[
    { id: "0", name: "Tester", description: "Role is testing" },
    { id: "1", name: "Developer", description: "Role is Developer" },
    { id: "2", name: "Admin", description: "Role is Admin" },
    { id: "3", name: "Manager", description: "Role is Manager" },
    { id: "4", name: "Reviewer", description: "Role is Reviewer" }
]

assignedRoles = 
[
    { id: "0", name: "Tester", description: "Role is testing" },
    { id: "4", name: "Reviewer", description: "Role is Reviewer" }
]
Run Code Online (Sandbox Code Playgroud)

考虑到 …

javascript ecmascript-5 typescript angular angular9

0
推荐指数
1
解决办法
2527
查看次数

在javascript中查找JSON对象中是否存在值的最佳方法?

我有一个单级JSON来搜索给定值的存在.在ecma5中是否提供了一种紧凑的方法?

javascript json ecmascript-5

-1
推荐指数
1
解决办法
5295
查看次数

在这个字符串拆分操作中,`filter`调用是什么?

我有一行遗留代码来分割半冒号的字符串:

var adds = emailString.split(/;+/).filter(Boolean);
Run Code Online (Sandbox Code Playgroud)

filter(Boolean)部分可以做什么?

javascript ecmascript-5

-1
推荐指数
1
解决办法
646
查看次数

在ES5 Javascript中,如何在不使用concat的情况下将项添加到数组并立即返回新数组?

我经常发现自己处于我想要的情况,在单个(原子)操作中,将一个项添加到数组并返回该新数组.

['a', 'b'].push('c');
Run Code Online (Sandbox Code Playgroud)

将无法正常工作,因为它返回新的长度.

我知道以下代码有效

['a', 'b'].concat(['c']);
Run Code Online (Sandbox Code Playgroud)

但我发现它是丑陋的代码(组合两个数组只是为了在第一个数组的末尾添加一个项目).

我无法使用Array.splice()它,因为它修改原始数组(并返回已删除的项目).Array.slice()确实返回浅拷贝,但您无法添加新项目.

ES6

我知道es6你可以使用

[...['a', 'b'], 'c']
Run Code Online (Sandbox Code Playgroud)

但我正在寻找es5解决方案

Lodash

我没关系 lodash

只是为了清楚

我知道这可以通过几种不同的方式实现(比如Array.concat()上面的方法),但我正在寻找一个直观的简单代码,它不会"误用"其他运算符

javascript arrays ecmascript-5 lodash

-1
推荐指数
1
解决办法
1337
查看次数

如何对对象中特定键的所有值求和?

假设我有一个包含多个对象的数组,如:

var arr = [{ 'credit': 1, 'trash': null }, { 'credit': 2, 'trash': null}]
Run Code Online (Sandbox Code Playgroud)

我想creditarr数组中得到所有值的总和.所以期望的总和值是3.所以我用这个代码:

arr.reduce((obj, total) => obj.credit + total)

但是当我跑这个时,我觉得"1[object Object]"这真的很奇怪.

Ps:我正在尝试使用ES6而不是ES5来实现这一点

javascript arrays node.js ecmascript-5 ecmascript-6

-1
推荐指数
2
解决办法
1977
查看次数

Javascript `filter` + `reduce` VS `reduce` + `if`

Object.entries(obj).reduce((acc, [key, value]) => {
  if (someCondition(key, value)) {
    acc[key] = value;
  }
  return acc;
}, {});


Object.entries(obj)
  .filter(([key, value]) => someCondition(key, value))
  .reduce((acc, [key, value]) => {
    acc[key] = value;
    return acc;
  }, {});
Run Code Online (Sandbox Code Playgroud)

上面两个块做同样的事情:创建一个副本,obj删除一些基于someCondition.

哪种方式是首选,为什么?

javascript ecmascript-5

-1
推荐指数
1
解决办法
690
查看次数

JavaScript返回值

我正在学习JavaScript作为我的第一语言,我在这里得到的想法就功能而言,但我不明白最终返回值是什么.

它是干什么用的?

javascript ecmascript-5

-2
推荐指数
1
解决办法
543
查看次数

打字稿中类和对象之间的区别

有人可以解释我打字稿中的类和对象有什么区别。

class greeter{
  Name: string;
  Sayhello(){
    console.log("hello")
  }
}
Run Code Online (Sandbox Code Playgroud)

在我使用这个之前

var greeter = {
    Name : "",
    Sayhello: function sayhello(){
        console.log("hello");
    }
}
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-5 typescript

-2
推荐指数
2
解决办法
1401
查看次数

为 no-undef 设置忽略列表(定义来自其他来源的预期变量)

我有一些 js 代码,在测试过程中,这些代码被分成多个部分加载,并被连接起来并变得丑陋以供生产。

我有一个配置文件,它定义了一个变量myConfig并具有业务逻辑脚本,该脚本myConfig需要设置并全局可用。

这工作正常,并且在开发或生产期间没有错误。

问题是我想使用no-undefeslint 规则从丢失的声明中捕获其他变量和函数。所以我正在寻找定义一组预期变量的方法。

有没有办法定义这样的变量?

javascript ecmascript-5 eslint

-2
推荐指数
1
解决办法
2298
查看次数

什么是此代码的es5等价物

function handleDeposit (accountNumber, amount) {
  type: 'DEPOSIT',
  accountNumber,
  amount
}
Run Code Online (Sandbox Code Playgroud)

它在调用时返回undefined.我不确定es6在这里使用的是什么功能

它等同于......

function handleDeposit (accountNumber, amount) {
  return {
    type: 'DEPOSIT',
    accountNumber: accountNumber,
    amount: amount
  }
}   
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-5 ecmascript-6

-5
推荐指数
1
解决办法
145
查看次数

为什么不能重新定义财产?

当我运行以下代码时,出现错误:

类型错误:无法重新定义属性:isBoolean

为什么我不能重新定义这些属性?

function isBoolean() {
  var value = arguments[0];
  if (!arguments.length) {return;}
  if (value===undefined || value===null) { return false; }
  if (typeof(value) === "boolean") {
    return true;
  } else {
    return false;
  }
}

function isString() {
  var value = arguments[0];
  if (!arguments.length) {return;}
  if (value===undefined || value===null) { return false; }
  if (typeof(value) === "string") {
    return true;
  } else {
    return false;
  }
}

function isNumber() {
  var value = arguments[0];
  if (!arguments.length) {return;}
  if (onoff) { …
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-5 ecmascript-6

-7
推荐指数
1
解决办法
2万
查看次数

让关键字在 ES5 上工作吗?

以下代码在 ES5 编译器中的输出是什么?它会抛出任何错误还是会正常工作?

let foo = 123;
let {x,y} = getValues();
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-5 ecmascript-6

-9
推荐指数
1
解决办法
6197
查看次数