【问题标题】:I want to have one variable see that its value is the name of another and take its array我想让一个变量看到它的值是另一个的名称并获取它的数组
【发布时间】:2017-03-18 00:11:29
【问题描述】:
var t1 = document.getElementById('t1').value;

var t2 = document.getElementById('t2').value;

var VA = ["VA", 4, 10.8, 18];

var DE = [3, 10.9, 6];

var GA = [77, 23.3, 8];

var AA = [21, 11, 2];

var KS = [23, 10.3, 3];

var LE = [2, 11.7, 7];

var NA = [11, 14.3, 5];

var UA = [71, 15.1, 16];

我有上面的一些代码,我的第一个变量 t1 将具有我的任何其他变量(不包括 t2)的字符串值,我希望它能够看到并能够使用其他数组。

t1 或 t2 将输入一个值,例如 VA 或 DE

举个例子

t2 可能被输入为 GA

对于我的代码,我希望它看到 t2 是 GA 并将 t2 转换为上面的变量 GA。

【问题讨论】:

  • t2在这个问题中的作用是什么?
  • 将变量分组到一个对象或数组中!
  • 发布一个示例(t2 的值以及您想要的结果应该是什么)!
  • 一个数组对象比一堆变量要好得多。

标签: javascript arrays variables


【解决方案1】:

您应该将这些变量创建为对象属性。以下是解决方案的工作原理:

var t1 = document.getElementById('t1');
var out = document.getElementById('out');

var vars = {
    VA: ["VA", 4, 10.8, 18],
    DE: [3, 10.9, 6],
    GA: [77, 23.3, 8],
    AA: [21, 11, 2],
    KS: [23, 10.3, 3],
    LE: [2, 11.7, 7],
    NA: [11, 14.3, 5],
    UA: [71, 15.1, 16]
};

t1.oninput = function() { 
    var name = t1.value;
    var value = vars[name];
    // Use value in any desired way.
    out.textContent = JSON.stringify(value);
}
Variable: <input id="t1"> (example: "VA")<br>
Content: <span id="out"></span>

或者,使用两个输入,并在您键入时进行就地替换:

var t1 = document.getElementById('t1');
var t2 = document.getElementById('t2');

var vars = {
    VA: ["VA", 4, 10.8, 18],
    DE: [3, 10.9, 6],
    GA: [77, 23.3, 8],
    AA: [21, 11, 2],
    KS: [23, 10.3, 3],
    LE: [2, 11.7, 7],
    NA: [11, 14.3, 5],
    UA: [71, 15.1, 16]
};

t1.oninput = t2.oninput = function(e) { 
    var name = e.target.value;
    if (name in vars) {
        var value = vars[name];
        // Use value in any desired way. 
        e.target.value = JSON.stringify(value);
    }
}
Variable 1: <input id="t1"> (example: "VA")<br>
Variable 2: <input id="t2"> 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-30
    • 2022-08-18
    • 2021-08-22
    • 2022-01-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多