Javascript 在数组中循环,为锚点链接指定值
我有一个像这样的数组Javascript 在数组中循环,为锚点链接指定值,javascript,reactjs,Javascript,Reactjs,我有一个像这样的数组 [“1352.jpg”、“1353.jpg”、“1354”]。我想循环遍历这个数组,并以逗号分隔呈现项目的锚链接。我正在看这样的东西,,等等。我好像没法让它工作。这就是我正在做的,但我没有得到我想要的 var images = ["1352.jpg", "1353.jpg", "1354"]; renderImages(images){ var result; if(images != null && images.lengt
[“1352.jpg”、“1353.jpg”、“1354”]
。我想循环遍历这个数组,并以逗号分隔呈现项目的锚链接。我正在看这样的东西,,等等。我好像没法让它工作。这就是我正在做的,但我没有得到我想要的
var images = ["1352.jpg", "1353.jpg", "1354"];
renderImages(images){
var result;
if(images != null && images.length > 0){
result = images.map(obj => {
var res = '<a href='+obj+'>obj</a>';
});
result = res.join(', ');
}else{
result = 'null';
}
return result;
}
var images=[“1352.jpg”、“1353.jpg”、“1354”];
渲染(图像){
var结果;
if(images!=null&&images.length>0){
结果=images.map(obj=>{
var-res='';
});
结果=res.join(',');
}否则{
结果='null';
}
返回结果;
}
请问我这里做错了什么?只需使用字符串插值,您的原始代码在map函数中缺少返回值,并且您的obj
直接写入了内部标记中
var images = ["1352.jpg", "1353.jpg", "1354"];
renderImages(images){
if(!images || !images.length) {
return null;
}
return images.map(obj => `<a href='${obj}'>${obj}</a>`);
}
首先想到的是这里缺少的return语句:
images.map(obj => {
var res = '<a href='+obj+'>obj</a>';
return res;
});
images.map(obj=>{
var-res='';
返回res;
});
或者只删除{}和变量声明
images.map(obj => '<a href='+obj+'>obj</a>');
images.map(obj=>”;
然后改变
result=res.join(“,”)代码>
到
result=result.join(“,”)代码>
constimagehrefs=[“1352.jpg”、“1353.jpg”、“1354.png”];
const container=document.getElementById('container');
imageHrefs.forEach((href)=>{
常量a=document.createElement('a');
a、 setAttribute('href',href);
a、 innerText=`链接到${href}`;
容器.附件(a);
container.appendChild(document.createElement('br'));
})
这很有效,只需对map和join语句进行一点调整
var images=[“1352.jpg”、“1353.jpg”、“1354”];
函数渲染(图像){
var结果;
if(images!=null&&images.length>0){
结果=images.map(obj=>{
返回“”;
});
result=result.join(',');
}否则{
结果='null';
}
返回结果;
}
列表=渲染图(图像)
console.log(列表)
}
在innertext中,您没有用“
包围obj
,您只是将其设置为obj,这是您缺少的吗?您没有从map arrow函数返回任何内容,因此它将是未定义的,而不是您将问题标记为React?为什么要构建HTML字符串?还有,什么不起作用?请提供预期行为,并描述当前不正确的行为。
images.map(obj => '<a href='+obj+'>obj</a>');
const images = ['image1_url', 'image2_url', 'image3_url']
const app = document.getElementById('app');
function renderImages() {
return images.map((link) => {
const a = document.createElement('a');
a.setAttribute('href', link);
a.innerText = link;
a.insertAdjacentText('beforeend', ', ');
app.appendChild(a);
});
renderImages()