gpt4 book ai didi

javascript 以分号形式输出,每 block 50 个

转载 作者:行者123 更新时间:2023-11-28 07:49:28 24 4
gpt4 key购买 nike

我对解决这个问题感到困惑。

1) 我有一个 PHP 数组,它是 JSON_ENCODE 存储在 JS 数组中。

2) 然后是一个文本区域,其中的输入被分割成一个 JS 数组2。

3) 然后比较两个数组以及 Slice & Concat 并从 array1 中扣除值。

4) 然后取出 array2 并将其分块为 arraySize 为 50。

我面临的问题是,我需要 50 的 block 来用分号分隔每个值,并在每个 block 的末尾使用分号。

我以前使用过连接,但是 ';'被添加到数组中,而我的 arraySize 变得困惑。

非常感谢任何帮助。

//Store PHP values.
var ci_sites = <?echo json_encode($ci_pass);?>;


function dobuild(){
//Store textarea input into Array, Duplicates Removed.
var text = $("textarea#builder").val();
var lines = text.split(/\r\n|\s+\n|\s+\r|\n+|\r+/g);
var lines_arr = [];
$.each(lines,function(index, item){
if ($.inArray(item, lines_arr) ==-1)
lines_arr.push(item);
})

//Remove value from ci_sites.
var A1 = lines_arr;
var A2 = ci_sites;
for (var i = 0; i<A2.length; i++) {
var arrlen = A1.length;
for (var j = 0; j<arrlen; j++) {
if (A2[i] == A1[j]) {
A1 = A1.slice(0, j).concat(A1.slice(j+1, arrlen));
}
}
}

//Chunk The Array Into Sets Of 50.
var cleaned = A1;
var chunk = [];
var arraySize = 50;
for (var i = 0; i < Math.ceil(cleaned.length/arraySize); i++) {
chunk.push(cleaned.slice(i*arraySize,i*arraySize+arraySize));
var chunkbr = chunk.join("<br>");
$("#cleanlist").html("Cleaned CI's:<br><span style='color:#f00'>"+chunkbr+"</span>");
}*/
}`

@sly

存储在 ci_sites 中的值为:

111 222 333 444

lines_arr 中存储的值是:

111 222 333 444 555 666 777

输出将是:

555,666,777

chunk.join 位于 for 中,因为它将 Chunks 分成 50 个。

最佳答案

我的解决方案:

//Store PHP values.
var ci_sites = [111, 222, 333, 444];


function dobuild(){
//Store textarea input into Array, Duplicates Removed.
var text = '111 222 333 444 555 666 777 abc kjl poi sdf tyu pom bgf yui sdf uyt qdf etr hgf jkh sdg por jkh cdf cdf ùpo eri'.replace(/ /g,'\r\n'); //$("textarea#builder").val();


var lines = text.split(/\r\n|\s+\n|\s+\r|\n+|\r+/g);
var lines_arr = [];
$.each(lines,function(index, item){
if ($.inArray(item, lines_arr) ==-1)
lines_arr.push(item);
});
console.dir( lines_arr);
//Remove value from ci_sites.
var A1 = lines_arr;
var A2 = ci_sites;
for (var i = 0; i<A2.length; i++) {
var arrlen = A1.length;
for (var j = 0; j<arrlen; j++) {
if (A2[i] == A1[j]) {
A1 = A1.slice(0, j).concat(A1.slice(j+1, arrlen));
}
}
}

//Chunk The Array Into Sets Of 50.
var cleaned = A1;
var chunk = [];
var arraySize = 50;
for (var i = 0; i < Math.ceil(cleaned.length/arraySize); i++) {
chunk.push(cleaned.slice(i*arraySize,i*arraySize+arraySize).join(';') );
var chunkbr = chunk.join("<br>");
$("#cleanlist").append("<p>i=" + i + " Cleaned CI's:<br><span style='color:#f00'>"+chunkbr+"</span></p>");
}
}

dobuild();

demo here

关于javascript 以分号形式输出,每 block 50 个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27014418/

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