Javascript 关联数组如何将多个字符串映射到一个数字
Javascript associative array how to map multiple strings to a number
Javascript 这里是新手。我目前有一个以下格式的关联数组:
StringA: number,
StringB: number
是否可以将多个字符串映射到同一个数字?像这样(一些数字可能有不同数量的字符串映射到它们):
StringA, StringB, StringC: number,
StringD, StringE: number,
StringF, StringG, StringH, StringI: number
基本上,无论我写var holder = arr[StringA]
还是var holder = arr[StringC]
,我都希望 holder 具有相同的值。如果不可能,有人可以指出我正确的方向吗?任何帮助将不胜感激!
您可以使用一个对象,该对象具有一个对象的多个键。
基本上这会创建对共享对象的引用。然后您可以更改对象内部的值。
var temp = { value: 42 },
object = {
a: temp,
b: temp,
c: temp
};
console.log(object.a.value); // 42
object.b.value = 7;
console.log(object.c.value); // 7
基本上Js没有关联数组,它们是对象。读这个:
http://www.w3schools.com/js/js_arrays.asp
你需要指针来实现这个,但是JS没有指针。但是有一种使用指针的方法:使用对象。
var assoc = [];
assoc["stringA"] = { value: 1};
assoc["stringB"] = assoc["stringA"];
assoc["stringC"] = assoc["stringA"];
assoc["stringD"] = { value: 10};
assoc["stringE"] = assoc["stringD"];
console.log("A: "+assoc["stringA"].value);
console.log("B: "+assoc["stringB"].value);
console.log("C: "+assoc["stringC"].value);
console.log("D: "+assoc["stringD"].value);
console.log("E: "+assoc["stringE"].value);
console.log("======== modify value ======");
console.log("\nModify A to 2")
assoc["stringA"].value = 2;
console.log("B: "+assoc["stringB"].value);
console.log("C: "+assoc["stringB"].value);
console.log("\nModify E to 20")
assoc["stringE"].value = 20;
console.log("D: "+assoc["stringD"].value);
console.log("E: "+assoc["stringE"].value);
Javascript 这里是新手。我目前有一个以下格式的关联数组:
StringA: number,
StringB: number
是否可以将多个字符串映射到同一个数字?像这样(一些数字可能有不同数量的字符串映射到它们):
StringA, StringB, StringC: number,
StringD, StringE: number,
StringF, StringG, StringH, StringI: number
基本上,无论我写var holder = arr[StringA]
还是var holder = arr[StringC]
,我都希望 holder 具有相同的值。如果不可能,有人可以指出我正确的方向吗?任何帮助将不胜感激!
您可以使用一个对象,该对象具有一个对象的多个键。
基本上这会创建对共享对象的引用。然后您可以更改对象内部的值。
var temp = { value: 42 },
object = {
a: temp,
b: temp,
c: temp
};
console.log(object.a.value); // 42
object.b.value = 7;
console.log(object.c.value); // 7
基本上Js没有关联数组,它们是对象。读这个: http://www.w3schools.com/js/js_arrays.asp
你需要指针来实现这个,但是JS没有指针。但是有一种使用指针的方法:使用对象。
var assoc = [];
assoc["stringA"] = { value: 1};
assoc["stringB"] = assoc["stringA"];
assoc["stringC"] = assoc["stringA"];
assoc["stringD"] = { value: 10};
assoc["stringE"] = assoc["stringD"];
console.log("A: "+assoc["stringA"].value);
console.log("B: "+assoc["stringB"].value);
console.log("C: "+assoc["stringC"].value);
console.log("D: "+assoc["stringD"].value);
console.log("E: "+assoc["stringE"].value);
console.log("======== modify value ======");
console.log("\nModify A to 2")
assoc["stringA"].value = 2;
console.log("B: "+assoc["stringB"].value);
console.log("C: "+assoc["stringB"].value);
console.log("\nModify E to 20")
assoc["stringE"].value = 20;
console.log("D: "+assoc["stringD"].value);
console.log("E: "+assoc["stringE"].value);