JavaScript String to Array并添加boolean

时间:2017-08-06 06:56:45

标签: javascript reactjs

我需要在将字符串拆分为数组后添加true

var str = "California,Nevada";
var array = value.split(',');
this.setState({ value: array });
console.log(this.state.value)
// result is ["California", "Nevada"]

我需要这样的结果:

{California: true, Nevada: true}

5 个答案:

答案 0 :(得分:2)

您可以使用array#map函数和split来创建新对象



var newObj = {};
var str = "California,Nevada".split(',').map(function(item) {
  newObj[item] = true;
});
console.log(newObj)




答案 1 :(得分:1)

你可以试试这个:



var str = "California,Nevada";
var result = {};
str.split(',').forEach(function(e){
  result[e] = true;
});

console.log(result);




答案 2 :(得分:0)

所以你想要做的是创建一个新对象,然后迭代分割输入,如下所示:



const input = "California,Nevada";
const output = {};
input.split(',').forEach( item => output[ item ] = true );
console.log( output );




答案 3 :(得分:0)

您可以点击以下内容:

小提琴:https://jsfiddle.net/o9jatg2f/1/

var value = "California,Nevada";
var array = value.split(',');
var obj = {};
for(var i=0;i<array.length;i++){
    obj[array[i]] = true;
}
console.log(obj);

使用forEach进行更新

array.forEach(item => state[item]=true);
console.log(state)

答案 4 :(得分:0)

假设您要在第二行中分割str而不是value,您可以执行以下操作。

&#13;
&#13;
var str = "California,Nevada";
var array = str.split(',');

// I think you need to use this.state instead of state
var state = {}; 
array.forEach(item => state[item]=true);
console.log(state)
&#13;
&#13;
&#13;