React Native:键值数组或hasmap?

时间:2019-01-06 10:50:42

标签: arrays reactjs react-native hashmap

我想在我的本机应用程序中创建一个数组/集合/ hasmap,其中一个键链接到一个值。因为我来自PHP,所以我将向您简要说明一下我的意思。在PHP中,您只需使用键/值对创建一个数组,如下所示:

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

这也是我在我的本机反应图中也想要的。链接到值的键。现在我正在这样做:

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"

你们对我该怎么做有任何想法?

致以问候,谢谢!

2 个答案:

答案 0 :(得分:1)

您可以使用方括号表示法。

示例:

var votes = [];

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

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

答案 1 :(得分:1)

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

如果要使用变量定义键,则应执行类似的操作

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

您可以通过执行类似的操作来实现您想要的-

var votes = {};

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

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

希望有帮助。