javascript - 基于 JavaScript 对象的键创建一个数组

标签 javascript arrays object

我需要根据现有常量 javascript 对象中的一些键选择创建一个数组

const EXISTING_CONSTANT_OBJECT  = {
      'fr': '10',
      'es': '15'
      'us': '10'
      'uk': '7'
      //and so on for many other iso country codes and UNPREDICTABLE key names
}

我需要能够创建一个数组(出于不变性原因,无需修改 EXISTING_CONSTANT_OBJECT),所有键的值都等于 10

例如,预期的输出是

object_to_create_arr = ["fr","us"]

我尝试使用 reduce 但失败了。

注意:我可以使用 ES6 并且通常更喜欢它,因为它通常更简洁。

最佳答案

您可以使用Object.keysfilter

const obj = { 'fr': '10','es': '15','us': '10','uk': '7'}

let final = Object.keys(obj).filter(key => +obj[key] === 10)

console.log(final)

这里+是用来隐式转换成数字的,因为在严格相等的情况下'10'和10是不一样的

关于javascript - 基于 JavaScript 对象的键创建一个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58208356/

相关文章:

javascript - 可缩放的 d3 折线图有消失的数据

javascript - 当 ngAnnotate 说 "Cannot create property ' $methodName' 时,这是什么意思...”

jquery - 如何使用 jQuery 获取文本框数组中的元素数量?

java - 如何将充满标记的 Object[] 转换为整数数组?

Javascript 对象 - 将对象添加到现有对象

javascript - TypeError : ko. 可观察数组不是函数

java - 使用 JNI 将指向 double 组的 C 指针传递给 Java

java - 如何返回 <T extends Comparable< 的通用数组? Java 中的 super T>>?

java - 通过引用更新对象(数独)

javascript - jQuery 推送给出一个逗号