2 回答

TA贡献1821条经验 获得超4个赞
在一个更大的对象中定义数组,而不是有多个独立变量,然后你可以只使用属性查找:
const divArrs = {
foo: ["One", "Two", "Three"],
bar: ["Four", "Five", "Six"]
}
$('div').on("click", function() {
divid = $(this).attr("id");
const firstval = divArrs[divid][0];
console.log(firstval);
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="foo">foo</div>
<div id="bar">bar</div>
当然,像这样的事情不需要 jQuery:
const divArrs = {
foo: ["One", "Two", "Three"],
bar: ["Four", "Five", "Six"]
};
document.querySelectorAll('div').forEach((div) => {
div.onclick = () => {
console.log(divArrs[div.id][0]);
};
});
<div id="foo">foo</div>
<div id="bar">bar</div>

TA贡献1808条经验 获得超4个赞
全局定义的变量和 withvar可以在window对象中自动访问。
var foo_array = ["One", "Two", "Three"];
var bar_array = ["Four", "Five", "Six"];
const id = "foo";
console.log(window[`${id}_array`][0]);
添加回答
举报