{"ScriptPreparationCode":"var source = \u0022scissors\u0022;\r\nvar result = null;","TestCases":[{"Name":"Vanilla","Code":"result = [];\r\nfor(var i=0; i\u003Csource.length;i\u002B\u002B) {\r\n if (source[i] === \u0022s\u0022) result.push(i);\r\n}","IsDeferred":false},{"Name":"Vanilla map","Code":"result = source.split(\u0027\u0027).map((c, i) =\u003E { return c === \u0027s\u0027 ? i : null; }).filter(x =\u003E x !== null);","IsDeferred":false},{"Name":"Lodash map","Code":"result = _.filter(_.map(source, (c, i) =\u003E { return c === \u0027s\u0027 ? i : null; }), (x) =\u003E x !== null);","IsDeferred":false},{"Name":"Lodash reduce","Code":"result = _.reduce(source, (result, value, key) =\u003E {\r\n value === \u0027s\u0027 \u0026\u0026 result.push(key);\r\n\r\n return result;\r\n}, []);","IsDeferred":false},{"Name":"Lodash chain map","Code":"result = _(source).map((c, i) =\u003E { return c === \u0027s\u0027 ? i : null; }).filter(x =\u003E x !== null).value();","IsDeferred":false}]}