我有一个简单的数组,如下所示。我的目标是在每个数组值的前面加上一个键id
,以实现以下效果:["id:a", "id:b","id:c","id:d"]
。有没有一种简单的方法来实现这个目标?非常感谢您的帮助。
var test = ['a','b','c','d']
我有一个简单的数组,如下所示。我的目标是在每个数组值的前面加上一个键id
,以实现以下效果:["id:a", "id:b","id:c","id:d"]
。有没有一种简单的方法来实现这个目标?非常感谢您的帮助。
var test = ['a','b','c','d']
.map()
方法:
var test = ['a', 'b', 'c', 'd'];
function setID(item, index) {
var fullname = "id: " + item;
return fullname;
}
var output = test.map(setID);
console.log(output);
Array.from
!它非常简单且更快。
var test = ['a', 'b', 'c', 'd'];
var newTest = Array.from(test, val => 'id: '+ val);
console.log(newTest);
只需使用forEach迭代数组并设置值:
var test = ['a','b','c','d']
test.forEach((v,i,arr)=>arr[i]=`id:${v}`)
console.log(test)
var test = ['a','b','c','d']
for ( var i=0, n=test.length; i<n; i++){
test[i] = 'id:' + test[i]
}
console.log(test)
无法编辑@ObsidianAge的回答,因此进行了小修改:
If you need in the form that the OP asked (Array of objects)
var test = ['a', 'b', 'c', 'd'];
function setID(item, index) {
var fullname = {"id: ": item};
return fullname;
}
var output = test.map(setID);
console.log(output);
var test = ['a','b','c','d'];
var newTest = test.map(function(item){return 'id:' +item})
console.log(newTest); // gives ["id": "a","id": "b","id": "c","id": "d"];
console.log(newTest[1]); // gives 1d: b;
正如@klugjo所说,使用map函数,像这样:
var array1 = ['a','b','c','d'];
const map1 = array1.map(x => 'id:' + x);
console.log(map1);
"id:"
,然后通过迭代来处理。但这具体用于什么呢?看起来并没有多大帮助。似乎你想把它变成一个带有键的对象,而不是字符串数组。 - Spencer Wieczorek