Javascript Split Array, Split again & Keep Indexes the Same

I have list that I’m trying to split into an array.

The items in the list will not always follow the same pattern. Here’s the example list:

TestOne__Test One|1
TestTwo__Test Two|1
TestThree
TestFour__Test Four
TestFive|1

First I split each item by the ‘__’, which creates the parts array with parts[1] and parts[2] (for any lines that include the __

But, any list items that also contain the “|1” suffix, need to be split as well.

Ideally I will end up with a single parts arrays that looks like this (for each i):

parts = [TestOne, Test One, 1]
parts = [TestTwo, Test Two, 1]
parts = [TestThree]
parts = [TestFour, Test Four]
parts = [TestFive, '', 1]

So the array size/length will depend on each line item.

Here’s the first split:

var promptList = ['TestOne__Test One|1', 'TestTwo__Test Two|1', 'TestThree', 'TestFour__Test Four'];
for (var i = 0; i < promptList.length; i++) {
    var parts = promptList[i].split('__');
}

I have tried splitting all at once with regex:

var parts = promptList[i].split(/['__'|]/);

But that just jumbles up the array indexes. I want all the parts[0] items to be the First part of the line item, and parts[1] to be the second part of the line item (if there is one) and parts[2] to be the ‘1’ suffix (if there is one).

Thanks!