2016-03-09 19 views
1

我有这个字符串:'#d48888,abc.com,repeat,top left,scroll';如何将键设置为数组中的值?

如何将此字符串转换为这样的数组:Array('color'=>#d48888, 'href'=>abc.com, ...)

+0

注:'阵列( '颜色'=>#D4 8888,'href'=> abc.com,...)'是一个php数组 – madalinivascu

回答

2

我想你正在寻找一个JavaScript对象,而不是一个数组。

var tmpObj = {}; 
var str = '#d48888,abc.com,repeat,top left,scroll'; 

var aryStr = str.split(','); //Splits the string on a delimeter 
tmpObj.color = aryStr[0]; //sets the 'color' property 
tmpObj.href = aryStr[1]; //sets the 'href' property 
//Complete object 

console.log(aryStr); //prints out the object and its properties 
0

创建密钥的数组,然后循环和保存需要

试着像与键对象和值:

var string_array= '#d48888,abc.com,repeat,top left,scroll'.split(','); 
var array_key=["color","href","background-repeat","background-position","overflow"]; 
var newobj = {}; 
$.each(string_array,function(i,v){ 
newobj[array_key[i]] = v; 
}); 

https://jsfiddle.net/1qbu4brs/

3

试试这个,

首先以逗号为基础拆分字符串:

var string = '#d48888,abc.com,repeat,top left,scroll'; 
var arrayOfString = str.split(','); 

使用另一个阵列来存储关键=>值对:

var newArray = {}; 
newArray.color = arrayOfString[0]; 
newArray.href = arrayOfString[1]; 
newArray.action = arrayOfString[2]; 
newArray.top = arrayOfString[3]; 
newArray.scroll = arrayOfString[4]; 
0

如果你打算使用PHP,使用explode(<delimeter>,string)将字符串转换成一个数组,然后添加到PHP数组(这是一个真正的地图):

PHP explode() documentation

$str = "#d48888,abc.com,repeat,top left,scroll"; 
$aryStr = explode(",", $str); 

$finalAry = [ 
    "color" => $aryStr[0]; 
    "href" => $aryStr[1]; 
    //complete 
]; 
相关问题