gpt4 book ai didi

javascript - Chrome 扩展程序循环通过 javascript 对象不起作用

转载 作者:行者123 更新时间:2023-12-03 09:59:49 27 4
gpt4 key购买 nike

我正在构建一个 Chrome 扩展程序,并且正在运行以下脚本:

var group = {
'object1': {
option1: '',
option2: ''
},
'object2': {
option1: '',
option2: ''
}
};

chrome.tabs.executeScript({
code: " \
var group_array = [" + Object.keys(group) + "]; \
console.log(group_array[0]); \
"
});

由于某种原因,console.log 返回 object1 未定义。我希望 console.log 返回 group 中第一个对象的名称,因此它应该返回 object1

我做错了什么?

最佳答案

我只是测试了一下。问题是:

"["+['object1','object2']+"]" -> "[object1,object2]"

所以

var group_array = [object1, object2];

如果直接对字符串求值,则object1和object2将被视为变量而不是字符串,并且由于不存在名为object1和object2的变量,因此求值失败。

要达到你想要的效果,你可以循环Object.keys(group)数组,并将key一一追加到代码中,或者你可以直接使用JSON.stringify将结果解析为字符串数组:

" \
var group_array = " + JSON.stringify(Object.keys(group)) + "; \
console.log(group_array[0]); \
"

关于javascript - Chrome 扩展程序循环通过 javascript 对象不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30632766/

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