gpt4 book ai didi

javascript - 如何通过在函数中传递变量名的一部分来按名称获取变量

转载 作者:行者123 更新时间:2023-12-01 02:40:17 26 4
gpt4 key购买 nike

我正在尝试创建一个函数,我将重复使用该函数来按名称获取对象,并将对象名称的一部分传递到函数中。

我使用下面的代码片段尝试了此操作,它输出未定义

如何通过将变量名称的一部分传递给这样的函数来获取实际变量?

function writeObject(name){
console.log(placeObjects[name+'Item']);
}

function placeObjects(){
var availableObjects = new Array();

availableObjects.push(new Object('image','kepler'));
availableObjects.push(new Object('image','lightning'));
availableObjects.push(new Object('image','tomato'));
availableObjects.push(new Object('image','us'));

var topItem = availableObjects[0];
var leftItem = availableObjects[1];
var bottomItem = availableObjects[2];
var rightItem = availableObjects[3];

writeObject('top');
writeObject('left');
}

placeObjects();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

最佳答案

var placeObject={};
function writeObject(name){
console.log(placeObject[name+'Item']);
}

function placeObjects(){
var availableObjects = new Array();

availableObjects.push(new Object('image','kepler'));
availableObjects.push(new Object('image','lightning'));
availableObjects.push(new Object('image','tomato'));
availableObjects.push(new Object('image','us'));
placeObject={topItem:availableObjects[0],leftItem:availableObjects[1],bottomItem:availableObjects[2],rightItem:availableObjects[3]};
// var topItem = availableObjects[0];
// var leftItem = availableObjects[1];
// var bottomItem = availableObjects[2];
// var rightItem = availableObjects[3];

writeObject('top');
writeObject('left');
}

placeObjects();

这会起作用。请记住,我已经更改了顶部的变量名称。这将在 writeObject 调用时返回所需的 abject。

关于javascript - 如何通过在函数中传递变量名的一部分来按名称获取变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47614133/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com