我需要在将字符串拆分为数组后添加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}
答案 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
,您可以执行以下操作。
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;