我有一个这样的字符串:
(redMultiplier=0, greenMultiplier=0, blueMultiplier=0, alphaMultiplier=1, redOffset=0, greenOffset=102, blueOffset=51, alphaOffset=0)
我需要将此字符串转换为数组(或对象)。而且我有很多这样的字符串也可以转换为数组。有没有办法自动将这样的字符串转换为javascript数组?
答案 0 :(得分:2)
当您传输字符串作为参数时,此函数将返回一个对象:
function convert(str){
str = str.replace(/\(|\)/g,'');
var arr = str.split(',');
var obj = {};
for (var i = 0; i < arr.length; i++) {
var singleArr = arr[i].trim().split('=');
var name = singleArr[0];
var value = singleArr[1]-0;
if (obj[name] == undefined) {
obj[name] = value;
}
}
return obj;
}
obj like Object {redMultiplier:0,greenMultiplier:0,blueMultiplier:0,alphaMultiplier:1}
答案 1 :(得分:2)
您可以使用RegExp。
@-webkit-keyframes cloud_one {
0% { transform: translate3d(0,0,0); }
100% { transform: translate3d(-200%,0,0); }
}
答案 2 :(得分:1)
以下是转换为array
var str = "(redMultiplier=0, greenMultiplier=0, blueMultiplier=0, alphaMultiplier=1, redOffset=0, greenOffset=102, blueOffset=51, alphaOffset=0)".replace(/[()]/g, '');
console.log(str.split(','));
var newArr = str.split(',');
var finalArr = [];
newArr.map((elem) => {
finalArr.push( elem.replace('=', ':') );
});
console.log(finalArr);