Javascript forEach 返回值插入字符串

标签 javascript json object foreach

stack_html += "<div class='co-stack-layer-title'>Application and Data" +
                        "<div class='row'>" +
                          response['Application and Data'].forEach(generateStackItem) + 
                        "</div>" +
                      "</div>";
stack_html += "<div class='co-stack-layer-title'>Business Tools" +
                        "<div class='row'>" +
                          response['Business Tools'].forEach(generateStackItem) + 
                        "</div>" +
                      "</div>";
stack_html += "<div class='co-stack-layer-title'>DevOps" +
                        "<div class='row'>" +
                          response['DevOps'].forEach(generateStackItem) + 
                        "</div>" +
                      "</div>";
stack_html += "<div class='co-stack-layer-title'>Utilities" +
                        "<div class='row'>" +
                          response['Utilities'].forEach(generateStackItem) + 
                        "</div>" +
                      "</div>";

function generateStackItem(element, index, array) {
    var stack_item_html = "";
    stack_item_html += "<div class='co-service'>" +
                     "<a href='" + element['canonical_url'] + "' class='each-service hint hint--top' data-hint='" + element['name'] + "' data-align='left'>" +
                       "<img src='" + element['image_url'] + "'>" +
                     "</a>" +
                   "</div>";

    console.log(stack_item_html);
    return stack_item_html;                       
}

我正在尝试在 javascript 对象上使用 forEach 迭代,但似乎无法将返回值插入到字符串加法中。

<div class='co-stack-layer-title'>Application and Data<div class='row'>undefined</div></div><div class='co-stack-layer-title'>Business Tools<div class='row'>undefined</div></div><div class='co-stack-layer-title'>DevOps<div class='row'>undefined</div></div><div class='co-stack-layer-title'>Utilities<div class='row'>undefined</div></div>

最佳答案

forEach返回未定义。使用map +加入

"abc" + response['Utilities'].map(generateStackItem).join("") + "def";

关于Javascript forEach 返回值插入字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33285348/

相关文章:

javascript - 如何从容器中删除选定的图像

json - 如何查询jsonb的嵌套数组

c# - 如何创建用户类并注册新用户?

javascript - 如何在css中切片图像

javascript - 在 React 的 setState 期间克隆对象/数组的正确方法

javascript - d3.js 中条形图的负高度值错误

javascript - 如何使用 json 在 amcharts 折线图中绘制多条线?

javascript - 按日期对 JSON 进行排序

java - 即使类已序列化,Blob 对象也无法正常工作

javascript - Python 字典与 Javascript 对象有什么区别?