Facebook Pixel

Array to Zigzag String Converter

React.js
easy
20 mins

Create a React component that users to input multiple comma-separated strings and outputs a zigzag merged string. The component merges the strings such that strings at even indices are appended as is, while strings at odd indices are reversed before appending.

Requirements

  • A user can enter multiple strings separated by commas in an input field.

    • The input box should have a placeholder like "Enter strings like one,two,three"
  • A button is provided to trigger the merging operation.

  • Upon clicking the button:

    • The input string is split by commas into an array.
    • Each string at an even index (0, 2, 4, ...) is kept as is.
    • Each string at an odd index (1, 3, 5, ...) is reversed.
    • All strings are joined together without any separator.
    • The merged string is displayed prefixed with "Output: ".
  • If the input is empty or only spaces, the output should be empty.

Edge Cases & Constraints

  • Input strings may contain spaces around commas; these should be trimmed.
  • Empty input should result in empty output.
  • Strings can contain special characters and numbers.
  • Large or long strings should be handled correctly.
  • The output concatenates all processed strings in zigzag order without spaces.

Example Inputs & Outputs

// Example 1: Two words input Input: "hello,world" Output: "Output: hellodlrow" // Example 2: Single word input Input: "single" Output: "Output: single" // Example 3: Multiple words Input: "one,two,three,four" Output: "Output: oneowtthreeruof" // Example 4: Input with special characters Input: "zig,zag!,foo#,bar$" Output: "Output: zig!gazfoo#$rab" // Example 5: Empty input Input: "" Output: "Output: "

Testing Requirements

  • Verify that the input box has the correct placeholder text: "Enter strings like one,two,three".
  • Test that entering comma-separated strings and clicking submit produces the expected zigzag merged output.
  • Test that single word inputs are handled correctly and the output should also be a single word.
  • Test that empty input results in an empty output string.
  • Test that input with special characters and numbers merges correctly with odd-index strings reversed.
  • Confirm the output text is always prefixed with "Output: ".
  • Confirm that leading and trailing spaces in input strings are trimmed before processing.

Data Test IDs (required for testing)

  • data-testid="input-box": The input field where the user types comma-separated strings.
  • data-testid="submit-button": The button which triggers the zigzag merging process.
  • data-testid="output-result": The paragraph or element that displays the output result.

Reference UI

ArrayToZigzagStringConverter

Preview what you need to build

Companies:

amazon
google
meta

Solve Similar questions šŸ”„

Please Login.
Please Login.