arrays - 如果变量是函数参数,则使用函数填充字符串变量不起作用
问题描述
此代码有效:https ://jsfiddle.net/Nata_Hamster/b48w3ktx/
let animal = ['cat', 'dog', 'hamster',]
let dataAnim = '';
full_anim(animal);
$('.wrap').html(dataAnim);
function full_anim(arr) {
for (let i in arr) {
dataAnim += `<div class="animal">${arr[i]}</div><br>`;
}
}
但是我需要将 dataAnim 作为函数参数。以下代码不起作用:https ://jsfiddle.net/Nata_Hamster/fxhpoes8/
let animal = ['cat', 'dog', 'hamster',]
let dataAnim = '';
full_anim(animal, dataAnim);
$('.wrap').html(dataAnim);
function full_anim(arr, content) {
for (let i in arr) {
content += `<div class="animal">${arr[i]}</div><br>`;
}
}
解决方案
试试这个:
let animal = ['cat', 'dog', 'hamster',]
let dataAnim = '';
dataAnim = full_anim(animal, dataAnim);
$('.wrap').html(dataAnim);
function full_anim(arr, content) {
for (let i in arr) {
content += `<div class="animal">${arr[i]}</div><br>`;
}
return content;
}
或者你可以这样做:
let animal = ['cat', 'dog', 'hamster',]
let data = { anim: '' };
full_anim(animal, data);
$('.wrap').html(data.anim);
function full_anim(arr, data) {
for (let i in arr) {
data.anim += `<div class="animal">${arr[i]}</div><br>`;
}
}
推荐阅读
- oracle - 如何将 Oracle 查询转换为条件查询?
- c - 确定我的代码的时间复杂度是多少?
- c# - C# LazyCache 并发字典垃圾回收
- ibm-cloud - 在 watson 控制台上哪里可以找到工作区 ID?
- bash - AWK 以相反的顺序读取文件并打印指定的列
- javascript - 用对象解构替换 Javascript
- filebeat - Filebeat 在 close_eof + --once 上未完成
- gradle - 在 Gradle 中应用插件抛出 NullPointerException
- javascript - Highcharts 使用 React TypeScript 根据数据值填充地图
- django - JBoss 错误:org.jboss.as.controller.management-operation](控制器引导线程)keycloak