Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.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/4/json/13.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
Javascript AngularJS中的字符串比较_Javascript_Json_Angularjs_Ionic Framework_String Comparison - Fatal编程技术网

Javascript AngularJS中的字符串比较

Javascript AngularJS中的字符串比较,javascript,json,angularjs,ionic-framework,string-comparison,Javascript,Json,Angularjs,Ionic Framework,String Comparison,我试图比较AngularJS中的两个字符串,我在网上看到了一些示例。据我所知,你可以使用angular.equals(str1,str2),你可以使用==,如果你确定两者都是字符串,你可以使用== 这三个我都试过了,但都没有结果。我所做的一定有什么不对,但我不知道是什么 当我运行代码时,会调用inc1()函数。第一个警报显示为“inc1已调用”。但第二个警报“内部for循环”只执行一次。它应该执行两次,不是吗 并且if(条件)中的警报根本不执行。如果删除“If”块,则警报“Inside for

我试图比较AngularJS中的两个字符串,我在网上看到了一些示例。据我所知,你可以使用angular.equals(str1,str2),你可以使用==,如果你确定两者都是字符串,你可以使用==

这三个我都试过了,但都没有结果。我所做的一定有什么不对,但我不知道是什么

当我运行代码时,会调用inc1()函数。第一个警报显示为“inc1已调用”。但第二个警报“内部for循环”只执行一次。它应该执行两次,不是吗

并且if(条件)中的警报根本不执行。如果删除“If”块,则警报“Inside for loop”将运行两次

如果有人能告诉我我做错了什么,我将不胜感激。我使用了angular.equals(),==和==,但每次都会发生同样的事情

这就是HTML和AngularJS代码的运行方式:

HTML:


喜欢
AngularJS:

$rootScope.items = [
{ id: 1, names: 'Dolphin', image: 'dolphin.jpg'}, { id: 2, names: 'Donkey', image: 'donkey.jpg'}];

$scope.inc1 = function(name) {

alert("inc1 called");
for(var i=0;i<$rootScope.items.length;i++)
{
    alert("Inside for loop");
    if (name === $rootScope.items.names[i])
        {
        alert("If condition satisfied");
        }
}
}
$rootScope.items=[
{id:1,名称:'Dolphin',图像:'Dolphin.jpg'},{id:2,名称:'ducky',图像:'ducky.jpg'}];
$scope.inc1=函数(名称){
警报(“inc1呼叫”);

对于(var i=0;i您在错误节点上迭代:)


for(var i=0;i您应该与$rootScope.items[i].name而不是$rootScope.items.names[i]进行比较问题是名称始终未定义$scope.name未定义。在视图中,而不是ng click=“inc1(name)”放置ng click=“inc1(x.name)”.

Ahaa!!!你就是这样做的吗?现在它有意义了!D我以为你必须做项目。名称[I]!!谢谢!!现在它工作了!!;)如果ot对您有效,您可以关闭此问题:)以保持所有已关闭的任务干净。很高兴提供帮助:)警报可能不是一种很好的调试方式,在chrome中查看调试或至少登录控制台可能会很有用哦,好的,谢谢!我会查看的!:)是的,谢谢!我应该意识到我所做的没有意义:D
$rootScope.items = [
{ id: 1, names: 'Dolphin', image: 'dolphin.jpg'}, { id: 2, names: 'Donkey', image: 'donkey.jpg'}];

$scope.inc1 = function(name) {

alert("inc1 called");
for(var i=0;i<$rootScope.items.length;i++)
{
    alert("Inside for loop");
    if (name === $rootScope.items.names[i])
        {
        alert("If condition satisfied");
        }
}
}
for(var i=0;i<$rootScope.items.length;i++)
{
    alert("Inside for loop");
    if (name === $rootScope.items[i].names) // you iterate over items, not names, which it an Json property inside item
        {
        alert("If condition satisfied");
        }
}