4 回答
TA贡献1797条经验 获得超6个赞
我想你可以尝试这样的事情
var videolink = data[`videolink${i}`];
请参阅:https ://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals
TA贡献1803条经验 获得超6个赞
为什么它不起作用
点运算符(属性访问器)具有更高的 precendense,因此首先对其求值,因此您可以获得属性的值,然后连接变量的值i
。
你该怎么办
您可以使用另一个属性访问器 - 方括号,就像在数组中一样:
data['videolink']
您可以在方括号内构建属性名称:
data['videolink' + i]
或使用模板文字:
data[`videolink${i}`]
TA贡献1820条经验 获得超2个赞
您正在使用“data.videolink+i”并且JavaScript不会评估“.”之后的值 相反,它被视为对象的属性。您需要使用[]进行评估。试试这个我希望这会起作用
if (doc.exists) {
for (var i = 1; i == videocount; i++) {
var data = doc.data();
var videolink = data[videolink+i];
//creating new paragraph
var p = '<p class ="trackvideostyle">'+"Your Video Link :
"+String(videolink)+'</p>\';
document.getElementById("btn").insertAdjacentHTML('beforebegin',
p);
}
TA贡献1966条经验 获得超4个赞
您可以通过使用来做到这一点
1. 模板字符串
..
var videolink = `${data.videolink}${i}`
..
2. 连接()
..
var videolink = data.videolink.concat(i.toString());
..
添加回答
举报