我意识到这在某种程度上是一个重复的问题,我什至看过jQuery remove object from object collection问题,但我希望有一个更好的答案,更完整。
如果我要创建一个集合,例如$divs = $( 'div' );
,它可能会返回一个集合中的几个div,但是如果我需要从集合中而不是从DOM中删除/删除其中一个,我不会看不到jQuery命令可以做到这一点。链接文章解决方案中的一个建议答案是,该集合中留有一个空值,我宁愿不这样做。
就我而言,集合中的所有对象在创建集合时“看起来”都相同,即没有类,属性或属性值差异,我可以在CSS选择器中使用该属性来排除对象我要从收藏夹中删除的物品。发生的情况是,用户单击要删除的项目旁边的按钮,然后从该单击中确定需要删除的项目。
我可以使用按钮单击来临时修改div.drop-down-list,然后在创建jQuery集合时使用该差异来排除一个元素,但是我希望有一些更简洁的方法。
除了处理按钮单击并确定要删除的div.drop-down-list的代码外,这是我要创建的代码,只是jQuery中没有removeObject语句。
$div = $( 'div.drop-down-list' ); // Get all of the drop-down-lists
$div.removeObject( $( clickedDropDownList ) ); // Create a new jQuery object for the one to exclude.
$div.hide(); // Hide/Close all the others.
使用add( ... )
语句可以很容易地将新的jQuery对象项添加到集合中,但这似乎并不奇怪。
答案 0 :(得分:0)
好吧,我认为您想要的是过滤数组而不删除目标。您可以尝试使用#include <stdio.h>
#include <stdlib.h>
#define MAX_DATA_NUM 100000
typedef struct input{
double x;
double y;
double u;
double v;
double rho;
} input_t;
void read_file();
void read_file(){
int i = 0, j, count = 0;
int c;
input_t data[MAX_DATA_NUM];
FILE *fp;
fp = fopen ("flow_data.csv", "r");
if (fp == NULL){
printf("Error reading file, exiting...");
exit(EXIT_FAILURE);
}
while (i < MAX_DATA_NUM) {
if(fscanf(fp, "%lf %lf %lf %lf %lf", &data[i].x, &data[i].y, &data[i].u, &data[i].v,
&data[i].rho) == 5)
i++;
else break;
}
for (j = 0; j < i; j++) {
printf("x: %f, y: %f, u: %f, v: %f, rho: %f \n", data[j].x, data[j].y,
data[j].u, data[j].v, data[j].rho);
}
for (c = getc(fp); c != EOF; c = getc(fp)) {
if (c == '\n') {
count = count + 1;
}
}
fclose(fp);
printf("The file has %d lines\n ", count);
}
方法,如下所示:
filter