React Native:键值数组还是哈希图?

Posted

技术标签:

【中文标题】React Native:键值数组还是哈希图?【英文标题】:React Native: Key Value array or hasmap? 【发布时间】:2019-06-01 07:32:56 【问题描述】:

我想在我的反应原生应用程序中创建一个数组/集合/hasmap,其中一个键链接到一个值。因为我来自 php,所以我会给你一个简短的例子来说明我的意思。在 PHP 中,您只需创建一个带有键/值对的数组,如下所示:

$array = array(
    41 => "bar",
    65 => "foo",
);

这也是我想在我的 react native 地图中拥有的东西。链接到值的键。现在我正在这样做:

var votes = [];

responseJson.map((product, key) => 
  var productID = product.id;
  votes.push(
    productID: product.votes
  );
);

console.log("Votes:", votes);

但是,我最后得到的是:

0: productID: "0"
1: productID: "1"
2: productID: "2"
3: productID: "0"
4: productID: "8"
5: productID: "4"

首先,productID 变量打印为名称而不是值。第一个错误...其次,我想要这样的东西:

312: "0"
521: "1"
741: "2"
633: "0"
653: "8"
873: "4"

你们知道我该怎么做吗?

诚挚的问候,谢谢!

【问题讨论】:

【参考方案1】:

您可以使用括号表示法。

例子:

var votes = [];

responseJson.map((product, key) => 
   var productID = product.id;
   votes.push(
    [productID]: product.votes
 );
);

console.log("Votes:", votes);

【讨论】:

是的,但是我在投票数组中仍然有数组。我想让它直接链接,而不需要在数组中包含数组! 您是否愿意将 responseJson 发送给我,以便我为您提供更好的解决方案,谢谢 看看下面的答案。这就是我一直在寻找的。不过谢谢!【参考方案2】:

javascript 中,您可以使用对象作为存储键值对的方法。

如果你想使用变量定义键,你应该这样做

votes.push(
  [productID]: product.votes
);

你可以通过做类似的事情来实现你想要的-

var votes = ;

responseJson.forEach((product, key) => 
   var productID = product.id;
   votes[productID] = product.votes
);

console.log("Votes:", votes);

希望对您有所帮助。

【讨论】:

谢谢,这正是我想要的!

以上是关于React Native:键值数组还是哈希图?的主要内容,如果未能解决你的问题,请参考以下文章

如何将哈希图转换为数组?

树图还是哈希图? [复制]

将 js 数组转换为字典/哈希图

C ++中的简单哈希图实现

如何将哈希图转换为条目数组[重复]

在 gradle.properties 文件中声明数组/哈希图