I have an array. I want to add some characters (:,\n
) to each element in that array to be shown in a text box.
Currently this is what I'm doing
$scope.source.arr = .... //This is an array
var actualText = "";
function func() {
$scope.source.arr.forEach(function(ele){
actualText += "***" + ele + " - \n"; //Adding necessary characters
})
}
var showText = function() {
func(); //Calling the function that populates the text as needed
var textBox = {
text : actualText;
...
}
}
Is there a better way to do this?
I have an array. I want to add some characters (:,\n
) to each element in that array to be shown in a text box.
Currently this is what I'm doing
$scope.source.arr = .... //This is an array
var actualText = "";
function func() {
$scope.source.arr.forEach(function(ele){
actualText += "***" + ele + " - \n"; //Adding necessary characters
})
}
var showText = function() {
func(); //Calling the function that populates the text as needed
var textBox = {
text : actualText;
...
}
}
Is there a better way to do this?
Share Improve this question edited Jan 13, 2016 at 4:49 thefourtheye 240k53 gold badges465 silver badges500 bronze badges asked Jan 13, 2016 at 4:46 ThiyaguThiyagu 17.9k5 gold badges48 silver badges86 bronze badges 02 Answers
Reset to default 11You can simply use Array.prototype.map
to create a new Array object with the changed strings, like this
var textBox = {
text: $scope.source.arr.map(function(ele) {
return "***" + ele + " - ";
}).join("\n"),
...
};
For each element in the arr
, we are creating a new string corresponding to it and creating an array of strings. Finally we join all the strings in the array with \n
.
You can use Array.prototype.map, Array.prototype.reduce to make it better.
Check reduce function here https://developer.mozilla/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce
var prefix = "***";
var postfix = "$$$";
var targetStrArr = ["apple", "banana"]
var resultStr = targetStrArr.map(function(ele){
return prefix + ele + postfix; //Adding necessary characters
}).reduce(function(prevVal, curVal) {
return prevVal + curVal;
});
console.log(resultStr); // ***apple$$$***banana$$$
发布者:admin,转转请注明出处:http://www.yc00.com/questions/1742389609a4434749.html
评论列表(0条)