Convert string with commas to array

JavascriptArraysStringDeserialization

Javascript Problem Overview


How can I convert a string to a JavaScript array?

Look at the code:

var string = "0,1";
var array = [string];
alert(array[0]);

In this case alert shows 0,1. If it where an array, it would show 0. And if alert(array[1]) is called, it should pop-up 1

Is there any chance to convert such string into a JavaScript array?

Javascript Solutions


Solution 1 - Javascript

For simple array members like that, you can use JSON.parse.

var array = JSON.parse("[" + string + "]");

This gives you an Array of numbers.

[0, 1]

If you use .split(), you'll end up with an Array of strings.

["0", "1"]

Just be aware that JSON.parse will limit you to the supported data types. If you need values like undefined or functions, you'd need to use eval(), or a JavaScript parser.


If you want to use .split(), but you also want an Array of Numbers, you could use Array.prototype.map, though you'd need to shim it for IE8 and lower or just write a traditional loop.

var array = string.split(",").map(Number);

Solution 2 - Javascript

Split it on the , character;

var string = "0,1";
var array = string.split(",");
alert(array[0]);

Solution 3 - Javascript

This is easily achieved in ES6;

You can convert strings to Arrays with Array.from('string');

Array.from("01")

will console.log

['0', '1']

Which is exactly what you're looking for.

Solution 4 - Javascript

If the string is already in list format, you can use the JSON.parse:

var a = "['a', 'b', 'c']";
a = a.replace(/'/g, '"');
a = JSON.parse(a);

Solution 5 - Javascript

Convert all type of strings

var array = (new Function("return [" + str+ "];")());



var string = "0,1";

var objectstring = '{Name:"Tshirt", CatGroupName:"Clothes", Gender:"male-female"}, {Name:"Dress", CatGroupName:"Clothes", Gender:"female"}, {Name:"Belt", CatGroupName:"Leather", Gender:"child"}';

var stringArray = (new Function("return [" + string+ "];")());

var objectStringArray = (new Function("return [" + objectstring+ "];")());

JSFiddle https://jsfiddle.net/7ne9L4Lj/1/

Result in console

enter image description here

Some practice doesnt support object strings

- JSON.parse("[" + string + "]"); // throw error

 - string.split(",") 
// unexpected result 
   ["{Name:"Tshirt"", " CatGroupName:"Clothes"", " Gender:"male-female"}", "      {Name:"Dress"", " CatGroupName:"Clothes"", " Gender:"female"}", " {Name:"Belt"",    " CatGroupName:"Leather"", " Gender:"child"}"]

Solution 6 - Javascript

For simple array members like that, you can use JSON.parse.

var listValues = "[{\"ComplianceTaskID\":75305,\"RequirementTypeID\":4,\"MissedRequirement\":\"Initial Photo Upload NRP\",\"TimeOverdueInMinutes\":null}]";

var array = JSON.parse("[" + listValues + "]");

This gives you an Array of numbers.

now you variable value is like array.length=1

Value output

array[0].ComplianceTaskID
array[0].RequirementTypeID
array[0].MissedRequirement
array[0].TimeOverdueInMinutes
 

Solution 7 - Javascript

You can use split

Reference: http://www.w3schools.com/jsref/jsref_split.asp

"0,1".split(',')

Solution 8 - Javascript

Another option using the ES6 is using Spread syntax.

var convertedArray = [..."01234"];

var stringToConvert = "012";
var convertedArray  = [...stringToConvert];
console.log(convertedArray);

Solution 9 - Javascript

use the built-in map function with an anonymous function, like so:

string.split(',').map(function(n) {return Number(n);});

[edit] here's how you would use it

var string = "0,1";
var array = string.split(',').map(function(n) {
    return Number(n);
});
alert( array[0] );

Solution 10 - Javascript

How to Convert Comma Separated String into an Array in JavaScript?

var string = 'hello, world, test, test2, rummy, words';
var arr = string.split(', '); // split string on comma space
console.log( arr );
 
//Output
["hello", "world", "test", "test2", "rummy", "words"]

For More Examples of convert string to array in javascript using the below ways:

  1. Split() – No Separator:

  2. Split() – Empty String Separator:

  3. Split() – Separator at Beginning/End:

  4. Regular Expression Separator:

  5. Capturing Parentheses:

  6. Split() with Limit Argument

    check out this link ==> https://www.tutsmake.com/javascript-convert-string-to-array-javascript/

Solution 11 - Javascript

I remove the characters '[',']' and do an split with ','

let array = stringObject.replace('[','').replace(']','').split(",").map(String);

Solution 12 - Javascript

More "Try it Yourself" examples below.

Definition and Usage The split() method is used to split a string into an array of substrings, and returns the new array.

Tip: If an empty string ("") is used as the separator, the string is split between each character.

Note: The split() method does not change the original string.

var res = str.split(",");

Solution 13 - Javascript

You can use javascript Spread Syntax to convert string to an array. In the solution below, I remove the comma then convert the string to an array.

var string = "0,1"
var array = [...string.replace(',', '')]
console.log(array[0])

Solution 14 - Javascript

Regexp

As more powerful alternative to split, you can use match

"0,1".match(/\d+/g)

let a = "0,1".match(/\d+/g)

console.log(a);

Solution 15 - Javascript

var i = "[{a:1,b:2}]", j = i.replace(/([a-zA-Z0-9]+?):/g, '"$1":').replace(/'/g,'"'), k = JSON.parse(j);

console.log(k)

// => declaring regular expression

[a-zA-Z0-9] => match all a-z, A-Z, 0-9

(): => group all matched elements

$1 => replacement string refers to the first match group in the regex.

g => global flag

Solution 16 - Javascript

Split (",") can convert Strings with commas into a String array, here is my code snippet.

    var input ='Hybrid App, Phone-Gap, Apache Cordova, HTML5, JavaScript, BootStrap, JQuery, CSS3, Android Wear API'
    var output = input.split(",");
    console.log(output);

> ["Hybrid App", " Phone-Gap", " Apache Cordova", " HTML5", " > JavaScript", " BootStrap", " JQuery", " CSS3", " Android Wear API"]

Solution 17 - Javascript

Why don't you do replace , comma and split('') the string like this which will result into ['0', '1'], furthermore, you could wrap the result into parseInt() to transform element into integer type.

it('convert string to array', function () {
  expect('0,1'.replace(',', '').split('')).toEqual(['0','1'])
});

Solution 18 - Javascript

Example using Array.filter:

var str = 'a,b,hi,ma,n,yu';

var strArr = Array.prototype.filter.call(str, eachChar => eachChar !== ',');

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionScottView Question on Stackoverflow
Solution 1 - JavascriptI Hate LazyView Answer on Stackoverflow
Solution 2 - JavascriptAlex K.View Answer on Stackoverflow
Solution 3 - JavascriptRay KimView Answer on Stackoverflow
Solution 4 - JavascriptotaviodecamposView Answer on Stackoverflow
Solution 5 - JavascriptAndi ARView Answer on Stackoverflow
Solution 6 - JavascriptRaghav ChaubeyView Answer on Stackoverflow
Solution 7 - Javascriptdm03514View Answer on Stackoverflow
Solution 8 - JavascriptAbhinav GalodhaView Answer on Stackoverflow
Solution 9 - JavascriptDan MantylaView Answer on Stackoverflow
Solution 10 - JavascriptDeveloperView Answer on Stackoverflow
Solution 11 - JavascriptSamuel IvanView Answer on Stackoverflow
Solution 12 - JavascriptHAROONMINDView Answer on Stackoverflow
Solution 13 - Javascriptp8ulView Answer on Stackoverflow
Solution 14 - JavascriptKamil KiełczewskiView Answer on Stackoverflow
Solution 15 - JavascriptKARTHIKEYAN.AView Answer on Stackoverflow
Solution 16 - JavascriptHitesh SahuView Answer on Stackoverflow
Solution 17 - JavascriptSimple-SolutionView Answer on Stackoverflow
Solution 18 - JavascriptAbhimanyuView Answer on Stackoverflow