gpt4 book ai didi

javascript - Greasemonkey 替换 JS 代码字符串

转载 作者:行者123 更新时间:2023-11-30 15:13:23 24 4
gpt4 key购买 nike

我有一个问题。有一个特定的页面,其中有一个 <script> ,我需要在其中调整一些数字。

var series = [{"color": "#666666", "data": [[25.25, 0.0]], "label": "\u0418\u0442\u043e\u0433\u043e\u0432\u043e\u0435 \u0438\u0441\u043f\u044b\u0442\u0430\u043d\u0438\u0435"}, {"color": "#b72121", "data": [[1, 0.0], [2, 0.0], [3, 0.0], [4, 0.0], [5, 0.0], [6, 0.0], [7, 0.0], [8, 0.0], [9, 0.0], [10, 0.88], [11, 0.0], [12, 0.0], [13, 0.0], [14, 0.0], [15, 0.95], [16, 0.0], [17, 0.0], [18, 1.0], [19, 0.0], [20.25, 0.14894736842105263]], "label": "\u0418\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0435 \u0443\u043f\u0440\u0430\u0436\u043d\u0435\u043d\u0438\u0435"}, {"color": "#600101", "data": [[21.5, 0.0], [22.5, 0.0], [23.75, 0.0]], "label": "\u041f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u043e\u0435 \u0438\u0441\u043f\u044b\u0442\u0430\u043d\u0438\u0435"}, {"color": "#b72121", "data": [[26.75, 0.056600000000000004]], "label": "\u0418\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0435 \u0443\u043f\u0440\u0430\u0436\u043d\u0435\u043d\u0438\u0435-grade_breakdown"}];

数据

( "data": [[1, 0.0], [2, 0.0], [3, 0.0], [4, 0.0], [5, 0.0], [6, 0.0], [7, 0.0], [8, 0.0], [9, 0.0], [10, 0.88], [11, 0.0], [12, 0.0], [13, 0.0], [14, 0.0], [15, 0.95], [16, 0.0], [17, 0.0], [18, 1.0], [19, 0.0], [20.25, 0.14894736842105263]] )

需要全部改成1.0。而且我不知道该怎么做,因为我既不是 JS 专家也不是 Greasemonkey 专家。

最佳答案

首先让我们看一下变量的结构:

  var series = [
{
"color": "#666666",
"data": [[25.25, 0.0]],
"label": "\u0418\u0442\u043e\u0433\u043e\u0432\u043e\u0435 \u0438\u0441\u043f\u044b\u0442\u0430\u043d\u0438\u0435"
},
{
"color": "#b72121",
"data": [[1, 0.0], [2, 0.0], [3, 0.0], [4, 0.0], [5, 0.0], [6, 0.0], [7, 0.0], [8, 0.0], [9, 0.0], [10, 0.88], [11, 0.0], [12, 0.0], [13, 0.0], [14, 0.0], [15, 0.95], [16, 0.0], [17, 0.0], [18, 1.0], [19, 0.0], [20.25, 0.14894736842105263]],
"label": "\u0418\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0435 \u0443\u043f\u0440\u0430\u0436\u043d\u0435\u043d\u0438\u0435"
},
{
"color": "#600101",
"data": [[21.5, 0.0], [22.5, 0.0], [23.75, 0.0]],
"label": "\u041f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u043e\u0435 \u0438\u0441\u043f\u044b\u0442\u0430\u043d\u0438\u0435"
},
{
"color": "#b72121",
"data": [[26.75, 0.056600000000000004]],
"label": "\u0418\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0435 \u0443\u043f\u0440\u0430\u0436\u043d\u0435\u043d\u0438\u0435-grade_breakdown"
}
];

好的,我们有什么? series 是一个包含多个元组的数组,您可以通过series[0]series[1] 等访问它们。元组是包含三个键值对的对象。例如,您可以通过 series[0].color 访问第一个元组的 colorcolorlabel 的值是String。数据的值也是数组。对于第二个元组,您可以使用 series[1].data[1] 访问 [2, 0.0] 数组。这些值又是数组。如果您想访问前一个元素的值 2,它是 series[1].data[1][0]

好的,要更改所有数据值,您只需要迭代:

  for (var i = 0; i < series.length; i++) {
var tuple = series[i];
var data = tuple.data;
for (var j = 0; j < data.length; j++) {
var dataContainer = data[j];
for (var k = 0; k < dataContainer.length; k++) {
dataContainer[k] = 1.0;
}
}
}

当然有一些方法可以为您完成这项工作,但在我看来,重要的是您了解它在原则上是如何工作的。

关于javascript - Greasemonkey 替换 JS 代码字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44814973/

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