Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.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 相同的字符串在笑话中不匹配_Javascript_String_Jestjs - Fatal编程技术网

Javascript 相同的字符串在笑话中不匹配

Javascript 相同的字符串在笑话中不匹配,javascript,string,jestjs,Javascript,String,Jestjs,以下测试失败: test('', () => { const result = new Intl.NumberFormat('sv-SE', { style: 'currency', currency: 'SEK', minimumFractionDigits: 0, maximumFractionDigits: 0, }).format(1000) expect(result).toEqual('1 000 kr') }) 它返回以下提示:

以下测试失败:

test('', () => {
  const result = new Intl.NumberFormat('sv-SE', {
    style: 'currency',
    currency: 'SEK',
    minimumFractionDigits: 0,
    maximumFractionDigits: 0,
  }).format(1000)

  expect(result).toEqual('1 000 kr')
})
它返回以下提示:

Expected: "1 000 kr"
Received: "1 000 kr"
我也用
.toBe()
尝试了断言,得到了相同的结果


断言上面两个字符串的正确方法是什么?

它在输出中返回一个不间断的空格,因此您也需要检查它

expect(result).toEqual('1\xa0000\xa0kr')

尝试使用
encodeURIComponent()
看看有什么不同,或者记录它,或者只是为了让它变得简单,改变测试
expect(encodeURIComponent(result)).toEqual(encodeURIComponent('1000 kr'))
我认为这是一个不间断的空间。这太令人困惑了。您知道返回这些字符的原因吗?还有什么方法不让它们返回?(而不是在断言中使用
encodeURIComponent
)。实际上,Intl不返回br空格是有意义的,所以最好不要与之对抗。没有人希望在不同的行中看到“1000”和“$”。