1var partition = function (s) {2let result = [];3backtrack(0, [], s, result);4return result;5};67function backtrack(i, partition, s, result) {8if (i === s.length) {9result.push([...partition]);10return;11}1213for (let j = i; j < s.length; j++) {14let str = s.slice(i, j + 1);15if (isPal(str)) {16partition.push(str);17backtrack(j + 1, partition, s, result);18partition.pop();19}20}21}2223function isPal(str) {24return (25JSON.stringify(str.split("").reverse()) === JSON.stringify(str.split(""))26);27}