gpt4 book ai didi

javascript - JavaScript 中的数组 - 对数组中的文本和数字进行排序

转载 作者:行者123 更新时间:2023-12-03 07:33:00 25 4
gpt4 key购买 nike

我想填充我拥有的 2 个数组,它们分别称为“regions”和“asbos”。我想使用每个刑事司法系统区域中 ASBO 记录的以下数据列表来执行此操作:

Avon and Somerset    559,
Bedfordshire 220,
Cambridgeshire 285,
Cheshire 387,
Cleveland 489,
Cumbria 275,
Derbyshire 319,
Devon and Cornwall 473,
Dorset 197,
Essex 361,

我还想为每个区域创建一个循环,根据 ASBO 的数量为其指定特定的字体大小,然后将该格式化文本存储在“tempText 变量'如下:

tempText += "<span style='font-size:" + asbos[i]/14 + "px';>" + regions[i] + "</span> ";

这是我目前在 HTML 文件中的内容:

<!DOCTYPE html>
<html>
<head>
<title>Javascript_Arrays</title>
</head>
<body>
<div id="wordCloud"></div>

<script>
//asbo word Cloud Generator
var regions = [];
var asbos = [];
var tempText = "";

// add loop here to create text for printing
document.getElementById("wordCloud").innerHTML = tempText;
</script>
</body>
</html>

最佳答案

var $body         = $('body'),
regions_asbos = $('#inputs').text().split(/,\s*/gm), // <== 1
asbos = {}; // <== 2

regions_asbos.forEach(function(line){ // <== 3
asbos[ line.replace(/(\d+)/,'').trim() ] = RegExp.$1; // <== 4
});

var regions = Object.keys(asbos); // <== 5
regions.forEach(function(region){ // <== 6
if (!region) // <== 7
return;

var $span = $('<span></span>',{ // <== 8
'style': 'font-size: ' + asbos[region]/14 + 'px',
'text': region
});

$body.append($span); // <== 9
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h4>Inputs</h4>
<pre id="inputs">Avon and Somerset 559,
Bedfordshire 220,
Cambridgeshire 285,
Cheshire 387,
Cleveland 489,
Cumbria 275,
Derbyshire 319,
Devon and Cornwall 473,
Dorset 197,
Essex 361,
</pre>

  1. 获取输入的文本(我将其放在 pre 中)并将它们分割成一个数组,将逗号和任何空格(换行符等)视为分隔符;这会为每条线或区域/asbos 关联创建一个数组
  2. 创建一个占位符对象;您所需要的只是一个充当字典/哈希的对象,而不是拥有两个单独的数组
  3. 迭代每一行
  4. 使用正则表达式捕获该行的数字(保存在 RegExp.$1 中)(假设您的区域名称中没有数字),并将这些数字替换为空白字符串;这使得该行仅包含区域名称和一堆白色文本。然后,您可以 trim 掉空格并使用区域名称作为字典/散列/对象的键,并将其分配给您之前捕获的数值。
  5. 您可以使用 Object.keys() 类函数获取对象的所有用户定义属性并将其存储在数组中(这是您的区域)。
  6. 然后您可以迭代区域数组
  7. 如果该行没有区域(为空、未定义等;通常与尾随逗号有关)
  8. 创建您将在页面上发布的跨度(或任何元素);请注意 asbos[region] 的使用,其中 region 是一个变量(输入的区域之一)
  9. 将该值放在页面上的某个位置;在这种情况下,在正文的末尾

关于javascript - JavaScript 中的数组 - 对数组中的文本和数字进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35736932/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com