javascript - How to add some text to start and end of each element in an array - Stack Overflow

I have an array. I want to add some characters (:,n) to each element in that array to be shown in a te

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 0
Add a ment  | 

2 Answers 2

Reset to default 11

You 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条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信