String() (v10)

Revision 10 of this benchmark created on


Setup

const a = ['<speak>test1</speak>', '<speak>test2</speak>', '<speak>test3</speak>', '<speak></speak>','<speak> </speak>'];

Test runner

Ready to run.

Testing in
TestOps/sec
String(2)
const b = ['<speak>test1</speak>', '<speak>test2</speak>', '<speak>test3</speak>', '<speak></speak>','<speak> </speak>'];

function filterEmptySSMLParagraphRegex(paragraphs) {
  return paragraphs.filter(p =>
    p.ssml &&
    !/^<speak>\s*<\/speak>$/.test(p.ssml)
  );
}

filterEmptySSMLParagraphRegex(b);
ready
{} + ''
const b = ['<speak>test1</speak>', '<speak>test2</speak>', '<speak>test3</speak>', '<speak></speak>','<speak> </speak>'];

function filterEmptySSMLParagraphString(paragraphs) {
  return paragraphs.filter(p => {
    if (!p.ssml) return false;

    const content = p.ssml
      .toString()
      .replace(/^<speak>/, '')
      .replace(/<\/speak>$/, '')
      .trim();

    return content.length > 0;
  });
}

filterEmptySSMLParagraphString(b);
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.