【问题标题】:Separate array line by line [closed]逐行分隔数组[关闭]
【发布时间】:2021-06-30 12:47:51
【问题描述】:

我从网页上抓取信息,我想将它们推送到数组中以便以后使用它们。但是当我尝试到达第一个、第二个等...项目时,我得到的不是单词,而是一个字符。

var arrType = [];    
            $('[name="type"]> option').each(function () {    
                arrType.push($(this).text());    
            });    
const vehicleType = arrType.join(", ");

如果我打印车辆类型,那么我得到的东西看起来像数组(typeof 也是数组),但是当我想打印出车辆类型 [0] 时,我只返回一个字符。

console.log (vehicleType)
[text1,text2,text3]

console.log (vehicleType[0])
t

【问题讨论】:

  • "join() 方法通过连接数组(或类似数组的对象)中的所有元素创建并返回一个新字符串,由逗号或指定的分隔符字符串。”
  • 当您不想将数组的元素作为一个大字符串时,不要调用.join()...

标签: javascript arrays cheerio


【解决方案1】:

首先,您可以稍微减少代码。您可以在拉取选项文本的同时使用.map() 而不是.each() 来定义变量。

var arrType = $('[name="type"]> option').map(function() {
  return $(this).text().trim();
}).toArray();

其次,要针对数组的第一项,根本不要使用.join()

console.log(arrType[0]);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多