vue3+ts给数组里面添加的时候只能添加一次?

image.png

const msgChange = (item:any) => {
  if(formInline.value.msg !== '') {
    dynamicTags.value = [...dynamicTags.value,`msg:"${item}";`]
  }
}

如何判断msg:''这个字符只能在数组里面添加一次,改变的只是value值

阅读 1.7k
1 个回答
//构造一个测试用的数据
const dynamicTags={
  value :['msg1:555', 'item:666', 'id:777']
}



const msgChange  = (item, key) => {
  //用findeIndex,不用map,可以避免构建一个新的数组,直接在原数组上修改
  const index = dynamicTags.value.findIndex(i => i.includes(key));
  if (index >= 0) {
    dynamicTags.value[index] = `msg:${item}`;
  } else {
    dynamicTags.value.push(`msg:${item}`);
  }
  
};
msgChange ('123', 'msg:') //为什么用msg:不用msg,避免误伤其它包含msg的字段
console.log(dynamicTags);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Microsoft
子站问答
访问
宣传栏