Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用map函数添加分隔符_Javascript_Arrays_Object - Fatal编程技术网

Javascript 如何使用map函数添加分隔符

Javascript 如何使用map函数添加分隔符,javascript,arrays,object,Javascript,Arrays,Object,我有一个常数 const tags = [ { tagName: "tag1", tagLink: "#" }, { tagName: "tag2", tagLink: "#" }, { tagName: "tag3", tagLink: "#" } ]; 我想使用map函数来渲染锚定标记,并且我想在锚定标记之间使用一个分隔符 我试过使用join,但是没有用 请检查一下电话号码 使用join映射 {标签 .map((标记,

我有一个常数

const tags = [
  {
    tagName: "tag1",
    tagLink: "#"
  },
  {
    tagName: "tag2",
    tagLink: "#"
  },
  {
    tagName: "tag3",
    tagLink: "#"
  }
];
我想使用map函数来渲染锚定标记,并且我想在锚定标记之间使用一个分隔符

我试过使用join,但是没有用

请检查一下电话号码

使用join映射
{标签
.map((标记,i)=>(
))
.join(“|”)}

生成:
[object object]|[object object]|[object object]

您只需映射数组即可创建HTML标记。 分隔符可以添加一个基本的CSS类

const标记=[
{
标记名:“tag1”,
标记链接:“第一”
},
{
标记名:“tag2”,
标签链接:“第二”
},
{
标记名:“tag3”,
标签链接:“第三”
}
];
const links=tags.map(tag=>``);
document.querySelector('body').innerHTML=links.join('')
a+a{
左边框:1px纯黑;
}
您能在地图功能中渲染“|”吗? 就像我在评论中写的那样,在JSX对象上使用join将其强制为字符串,结果是[Object]

{tags.map((tag, i) => (
    <a href={tag.tagLink} alt="">
        {tag.tagName} {i < tags.length - 1 ? "|" : ""}
    </a>
))}
{tags.map((tag,i)=>(
{tag.tagName}{i
您试图使用元素数组中的“连接”元素。它将在内部将元素类型转换为字符串,对于任何对象,该字符串将作为[object]。因此,您将获得
[object object]|[object object]|[object object]

类似这样的方法会奏效:

{tags.map((tag, i) => {
    return <span>
       <a href={tag.tagLink} alt="">
          {tag.tagName}
       </a> {i < tags.length - 1 ? "|" : null}
    </span>           
})}
{tags.map((tag,i)=>{
返回
{i
我认为您可以像其他人建议的那样呈现链接

    const tags = [
  {
    tagName: "tag1",
    tagLink: "#first"
  },
  {
    tagName: "tag2",
    tagLink: "#second"
  },
  {
    tagName: "tag3",
    tagLink: "#third"
  }
];

const links = tags.map( tag => `<a href="${tag.tagLink}" class="divider" id="${tag.tagName}">${tag.tagLink}</a>` );

document.querySelector( 'body' ).innerHTML = links.join( '' );

请在问题中添加您的小提琴中的代码。您可以使用代码段功能使其在此处工作。“我尝试使用join”。。。那就让我们看看问题。我们不应该仅仅为了审查您的初始问题而离开现场。问题应该是独立的。非现场演示很棒,但只是为了支持问题本身中实际存在的内容,而不是重点。。。。。你试过的不起作用的东西应该在问题中。花几分钟阅读@charlietfl我已经提到了我为解决问题而尝试的三种方法。如果你能打开它一次,它就在小提琴链接中。请停止烘焙感谢您的帮助,但您的分隔符在锚标签内。够近了。我在寻找@amulous回答的东西below@Rickie-如果有帮助,请将其标记为解决方案!
    const tags = [
  {
    tagName: "tag1",
    tagLink: "#first"
  },
  {
    tagName: "tag2",
    tagLink: "#second"
  },
  {
    tagName: "tag3",
    tagLink: "#third"
  }
];

const links = tags.map( tag => `<a href="${tag.tagLink}" class="divider" id="${tag.tagName}">${tag.tagLink}</a>` );

document.querySelector( 'body' ).innerHTML = links.join( '' );
.divider{
 border-right: 1px solid black;
 padding-left: 10px;
 padding-right: 10px;
}