gpt4 book ai didi

javascript - 使用 Javascript 在特定数组值之前添加所有数组值

转载 作者:行者123 更新时间:2023-11-30 16:39:34 25 4
gpt4 key购买 nike

在我的软件中,我有一个跨页查看器,可以将页面彼此对齐。页数可以变化。用户可以在这些页面上放置注释。我希望能够通过比较 x 坐标与页面宽度的总和来判断注释被添加到哪个页面。

对于这个例子,假设我有一个 4 页的跨页。我构建了一个 js 数组 widthArr[],它具有以下值:[297, 300, 305, 410]

所以下面当然是真的

widthArr[0] = 297 //page 1 width
widthArr[1] = 300 //page 2 width
widthArr[2] = 305 //page 3 width
widthArr[3] = 410 //page 4 width

所以如果 x 坐标是 400,那么我就知道笔记放在了第 2 页。

有没有一种方法可以动态循环遍历这些页面并以某种方式检查 x 是否大于所有先前页面宽度的宽度?

在这种特定情况下,我需要检查以下内容:

x > (widthArr[0] + widthArr[1] + widthArr[2])?然后用户在第 4 页添加注释。

x > (widthArr[0] + widthArr[1])?然后用户在第 3 页添加注释。

x > widthArr[0]吗?然后用户正在向页面 2 添加注释。如果没有,则用户正在向页面 1 添加注释。

我从以下 for 循环开始。

var spreadPagesLength = 4;
var x = 400;
var i;
for (i = 0; i < spreadPagesLength; ++i) {

}

感谢任何帮助。非常感谢。

最佳答案

保持你目前看到的总宽度,当宽度超过x中断:

var widthArr = [297, 300, 305, 410];
var page = widthArr.length + 1; // after the last page, as a default
var x = 400;
var totalWidth = 0;

for ( var i = 0; i < widthArr.length; ++i )
{
totalWidth += widthArr[i];

if (x < totalWidth)
{
page = i + 1;
break;
}
}

关于javascript - 使用 Javascript 在特定数组值之前添加所有数组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32208355/

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