我有這樣的字符串: var test =「oldsite1:newsite1,oldsite2:newsite2」;如何迭代字符串中的鍵值對
我想迭代這個來獲取值。 我知道我可以轉換爲這樣的字符串數組: var myArray = test.split(「,」);
但後來我得到了整個字符串到「,」,我想提取「oldsite1」和「newsite1」。
幫助讚賞。 謝謝。
我有這樣的字符串: var test =「oldsite1:newsite1,oldsite2:newsite2」;如何迭代字符串中的鍵值對
我想迭代這個來獲取值。 我知道我可以轉換爲這樣的字符串數組: var myArray = test.split(「,」);
但後來我得到了整個字符串到「,」,我想提取「oldsite1」和「newsite1」。
幫助讚賞。 謝謝。
再次分割每個數組項目,並拿到鑰匙作爲第一要素和值作爲第二
var test = "oldsite1: newsite1, oldsite2: newsite2";
var items= test.split(',');
items.forEach(function(item) {
var keyValue = item.split(":")
console.log("this is the key: " + keyValue[0]);
console.log("this is the value: " + keyValue[1]);
})
我會使用split
將字符串轉換爲數組,然後您可以使用數組方法來操作。
var test = "oldsite1: newsite1, oldsite2: newsite2";
var split = test.split(',');
split.forEach(function(item) {
console.log(item);
})
console.log(split) //outputs an array of key values
你的輸入格式很接近,我把它的方式休息,然後用JSON.parse
把它變成一個JavaScript對象有效的JSON。 (不過,如果你可以在第一時間在JSON數據,這會是最好...)
var test = "oldsite1: newsite1, oldsite2: newsite2"
// wrap field names in quotes, and put curlies around the whole thing:
test = '{"'+ test.replace(/([:,]) /g, '"$1 "') + '"}';
var obj = JSON.parse(test);
// Now you can use obj as a regular old hash table:
console.log("All keys are ", Object.keys(obj));
console.log("oldsite1's value is ", obj.oldsite1);
// and so on
您可以結合split()和map()到您的字符串轉換爲對象的數組:
var test = "oldsite1: newsite1, oldsite2: newsite2";
testArr = test.split(',').map(function(ele, idx){
var arr = ele.split(':');
var retVal = {};
retVal[arr[0]] = arr[1].trim();
return retVal;
});
console.log(testArr);
testArr.forEach(function(ele, idx) {
var keyName = Object.keys(ele)[0];
var keyValue = ele[keyName];
console.log('keyName: ' + keyName + ' keyValue: ' + keyValue);
})