Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从列表字符串中获取值?_C#_Jquery - Fatal编程技术网

C# 如何从列表字符串中获取值?

C# 如何从列表字符串中获取值?,c#,jquery,C#,Jquery,字符串列表的返回结果为: var result= "1,red,2,blue,3,green,4,orange"; 我想使用一个循环,得到像1,2,3,4和红色,蓝色,绿色,橙色的结果 我的代码如下。 我在split中发现了错误。 对象不支持拆分。 我使用的是jQuery1.10.1 $.ajax({ type: "GET", url: "/_vti_bin/userService/myservic

字符串列表的返回结果为:

var result= "1,red,2,blue,3,green,4,orange";
我想使用一个循环,得到像1,2,3,4和红色,蓝色,绿色,橙色的结果

我的代码如下。 我在split中发现了错误。 对象不支持拆分。 我使用的是jQuery1.10.1

$.ajax({
                        type: "GET",
                        url: "/_vti_bin/userService/myservice.svc/GetUserListForMentionSign?query" + query,
                        async: false,
                        dataType: "JSON",
                        cache: false,
                        processdata: true,
                        success: function (result) {
                            data = result;
                            //arrary
                            var resultArray = data.Split(',');

                            var id = new Array(), name = new Array();

                            $.each(resultArray, function (index, value) {
                                if (isNaN(value)) {
                                    name.push(value);
                                    alert(name.push(value));
                                }
                                else {
                                    id.push(value);
                                }
                            });
下面是c的web服务

public List<string> GetUserListForMentionSign(string username)
    {
        List<User> UserList = new List<User>();
        List<string> returnvalue=new List<string>();
        try
        {
            string returnstring = string.Empty;
            DataTable dt = null;
            dt = Library.Helper.FindUser(username, 200);
            foreach (DataRow dr in dt.Rows)
            {
                if (dr["Title"].ToString() != "Person.aspx")  // those user without the name
                {
                    User user = new User();
                   user.id = dr["ID"].ToString();
                    user.name = dr["Name"].ToString();

                    UserList.Add(spuser);
                }
            }
        }
catch (Exception ex)
        {

        }
          return UserList.Select(a=>new[]{ a.name.ToString(),a.id.ToString()}).SelectMany(a=>a).ToList();
    }
尝试以下操作:使用.split将字符串转换为数组,然后迭代数组。内部循环检查值是否为未使用isNaN的数量,并将值推送到相应的数组中

    var result= "1,red,2,blue,3,green,4,orange";

    var resultArray = result.split(",");

    var numberArray = new Array(), colorArray = new Array();

    $.each(resultArray , function( index, value ) {
       if(isNaN(value))
         colorArray.push(value);
      else
         numberArray.push(value);
    });

   alert(colorArray.toString());
   alert(numberArray.toString());
可以使用函数创建包含偶数和奇数索引值的两个不同数组,并对其进行操作

var result = "1,red,2,blue,3,green,4,orange";
var arr=result.split(',');
var odd = jQuery.map( arr, function(n,i){
return i%2 ? n : null;
});

var even = jQuery.map( arr, function(n,i){
return i%2 ? null : n;
});
或手动循环

  for(int i = 0; i < arr.lenght; i++)
   {
      int cont;

         if (int.TryParse(arr[i], out cont) == false)
           text[i] = i;
         else
           num[i] = cont;
   }
注意:从服务器端拆分C。

请尝试

    var result = "1,red,2,blue,3,green,4,orange";
    var splitValue = result.split(",");
    var num = [];
    var str = [];
     for (var i in splitValue) {
       if (i % 2 === 0) {
            num.push(splitValue[i]);
         } else {
            str.push(splitValue[i]);
        }
     }

    console.log(num);
    console.log(str);

在C语言中,我实现了这样的功能。 逻辑:输入被解析为拆分num和strings,并存储到不同的数组中。最后打印结果数组

int main()
{
    char  *str, result []= "1,red,2,blue,3,green,4,orange";
    char *p, *p1;
    char num[10], i=0;
    char name[10][15], j=0,k;

    str =result;

    while (1)
    {
        p= strchr (str, ',');
            if(!p1)
            break;

        num [i]=atoi (p-1) ;
        i++;

        p1= strchr (p+1, ',');

        if(!p1){
            strcpy ( name[j],  p+1);
            j++;
            break;
        }

        p1[0]='\0';
        strcpy ( name[j],  p+1);
        j++;
       str=p1+1;
    }


    for (k=0; k<i; ++k){
            printf ( "%d ", num[k]);
    }

    printf ("\n");

    for (k=0; k<j; ++k){
            printf ( "%s ", name[k]);

    }

    printf ("\n");

}

你能具体说明你想用什么语言来解决这个问题吗?你尝试过什么?你用C和JQuery来标记你的问题,那么你想把你的字符串拆分到哪里?在服务器端使用C,还是在客户端使用Jquery?若你们想在服务器端拆分字符串,我已经发布了一个C的答案。我使用了C web服务中的服务。我没有错误。之后我会在c服务上发布。我不希望1,2,3,4是整数。1,2,3,4也是字符串值。如何检查它。numberArray.toString将只提供字符串。检查警报,我刚刚把逻辑分开1,2,3,4和红色,蓝色,绿色,橙色的眼睛,你的代码是工作。我的要求不同。非常感谢。
int main()
{
    char  *str, result []= "1,red,2,blue,3,green,4,orange";
    char *p, *p1;
    char num[10], i=0;
    char name[10][15], j=0,k;

    str =result;

    while (1)
    {
        p= strchr (str, ',');
            if(!p1)
            break;

        num [i]=atoi (p-1) ;
        i++;

        p1= strchr (p+1, ',');

        if(!p1){
            strcpy ( name[j],  p+1);
            j++;
            break;
        }

        p1[0]='\0';
        strcpy ( name[j],  p+1);
        j++;
       str=p1+1;
    }


    for (k=0; k<i; ++k){
            printf ( "%d ", num[k]);
    }

    printf ("\n");

    for (k=0; k<j; ++k){
            printf ( "%s ", name[k]);

    }

    printf ("\n");

}