我有一个返回以下内容的数组:
["↵Onprogress↵Done"]
我要删除此符号:“↵”。
我已经尝试了各种方法,如下面的代码所示。我尝试调用变量到箭头值,以从数组中过滤出该变量。或者声明第二个空数组,然后遍历第一个空数组并将我想要的内容推送到第二个数组。我开始怀疑这是否是控制台默认返回的东西?如果有人能帮助我,将不胜感激。还请记住,当我通过索引返回数组时,它会给我'undefined'。
addCardtoApp = event => {
event.preventDefault();
const card = {
taskName: this.taskName.current.value,
taskDescription: this.taskDescription.current.value,
taskPeriod: this.taskPeriod.current.value,
};
const cardStatus = this.taskStatus.current.value;
let otherStatus = {
otherStatus: this.taskStatus.current.innerText,
};
// otherStatus = otherStatus.otherStatus.replace('↵', '');
const replacedStatus = otherStatus.otherStatus.replace(`${cardStatus}`, '');
const convertedStatus = replacedStatus.split(' ');
// let annoyingArrow = '↵'
// console.log('↵')
// let refinedStatus = convertedStatus
// refinedStatus = refinedStatus.filter( item => item !== 'Todos' || 'Onprogress' || 'Done');
let refinedStatus = []
convertedStatus.forEach(function(item) {
if (item === 'Todos' || 'Onprogress' || 'Done') { refinedStatus.push(item) };
})
console.log(refinedStatus);
this.props.addCard(card, cardStatus, refinedStatus);
event.currentTarget.reset();
};
答案 0 :(得分:1)
const arr = ["↵Onprogress↵Done"];
const newArray = JSON.parse(JSON.stringify(arr).replace(/↵/g, ''));
答案 1 :(得分:1)
某些控制台将换行符(#include <omp/HandEvaluator.h>
#include <iostream>
using namespace omp;
int main()
{
HandEvaluator eval;
Hand h = Hand::empty(); // Final hand must include empty() exactly once!
h += Hand(51) + Hand(48) + Hand(0) + Hand(1) + Hand(2); // AdAs2s2h2c
std::cout << eval.evaluate(h) << std::endl; // 28684 = 7 * 4096 + 12
}
)表示为该符号(↵)。要从字符串中删除它们,可以执行以下操作:
\n
答案 2 :(得分:0)
如果我正确地理解了这个问题,那么您在正确的方向上:
// otherStatus = otherStatus.otherStatus.replace('↵', '');
我相信您的问题是您的字符串中有两个↵
,并且您使用replace
只会替换第一个。第二个仍然在那里。使用正则表达式代替它们:
otherStatus.otherStatus.replace(/↵/g, '');
更多信息here:
注意:如果要替换值(而不是正则表达式),则仅替换该值的第一个实例。要替换所有出现的指定值,请使用全局(g)修饰符(请参见下面的“更多示例”)。
答案 3 :(得分:0)
通过拆分不需要的字符,可以分解字符串并同时删除字符。
>> (["↵Onprogress↵Done"])[0].split(/↵/).filter(Boolean)
[ "Onprogress", "Done" ]