可以't使用concat添加字符串数组

can't add array of strings with concat

本文关键字:concat 添加 字符串 数组 使用 可以      更新时间:2023-09-26

我正在尝试添加一些html标记,并将其作为字符串列表添加到javascript中的var中。这样我以后就可以在html中替换该代码了。

app.use('/index', function(req, res) {
  var query = req.query;
  var searchQuery = query.search;
  for(i = 0; i < 11; i++){
    if (data[i].indexOf(searchQuery) != -1){
      console.log(data[i]);
      //document.getElementById("".innerHTML = )
     newdata.concat("<li>",data[i],"<li><br>");
      console.log(newdata);
    }
  };
  console.log(newdata);
  var fileContent = fs.readFileSync(path.join(__dirname, '/public/index.html'), "utf8");
  res.send(fileContent.replace("{{data}}", newdata));
});

我正在尝试将信息添加到新数据中,但concat似乎不起作用。你能帮我告诉我为什么吗?我在使用concat添加到newdata之前打印数据,但添加之后newdata仍然为空。为什么?

以防万一整个代码都在这里

var express = require('express');
var path = require('path');
var app = express();
var port = process.env.PORT || 3000;
var fs = require ('fs')
var data = ['yellow','mellow','hello','yellow jaws','jaws','jaws 2','jaws 3','mellow jaws','angry jaws','angry jews','angry yellow juice'];
var newdata = '';
app.use(express.static(path.join(__dirname, '/public')));
app.use('/index', function(req, res) {
  var query = req.query;
  var searchQuery = query.search;
  for(i = 0; i < 11; i++){
    if (data[i].indexOf(searchQuery) != -1){
      console.log("VATO");
      console.log(data[i]);
      //document.getElementById("".innerHTML = )
     newdata.concat("<li>",data[i],"<li><br>");
      console.log(newdata);
    }
  };
  console.log(newdata);
  var fileContent = fs.readFileSync(path.join(__dirname, '/public/index.html'), "utf8");
  res.send(fileContent.replace("{{data}}", newdata));
});
app.get('/', function(req, res) {
  res.sendFile(path.join(__dirname, '/public/index.html'));
});
app.listen(port, function() {
  console.log('App is listening on port ' + port);
});

Concat不会修改原始字符串。它返回修改。更改此项:

newdata.concat("<li>",data[i],"<li><br>");

newdata = newdata.concat("<li>",data[i],"</li><br>");

(我也关闭了li标签)